Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];

Вниз

Как получить нормально распределенное случаное число от 0 до 1 и   Найти похожие ветки 

 
Дмитрий С ©   (2009-10-09 19:15) [0]

знаков 15 после запятой.
Есть сколько угодно случайных чисел от 0 до 32768 (стандартный random), нужно получить нормально распределенное случайное число от 0 до 1 и знаков 15 после запятой.

Нужно для наглядного демонстрирования метода МонтеКарло для нахождения числа pi к примеру.


 
vrem   (2009-10-09 19:36) [1]

дели на 32768


 
Дмитрий С ©   (2009-10-09 19:41) [2]


> vrem   (09.10.09 19:36) [1]

Так не то получится. От 0 до 1 с 15 знаками после запятой чисел гораздо больше, чем 32к.


 
Б   (2009-10-09 19:50) [3]

Так?


Function Rand: single;
begin
 Result:= (Random * 2) - 1;  
End;



 
Плохиш ©   (2009-10-09 19:58) [4]


> Дмитрий С ©   (09.10.09 19:15)
>
> знаков 15 после запятой.
> Есть сколько угодно случайных чисел от 0 до 32768 (стандартный
> random)

Это не стандартный рандом.


 
Б   (2009-10-09 19:58) [5]

Пардон.


 
palva ©   (2009-10-09 20:24) [6]


> нормально распределенное случаное число от 0 до 1

Это противоречивое условие. Таких чисел не бывает.


 
Virgo_Style ©   (2009-10-09 20:38) [7]

Ну, с какой-то степенью приближения, можно хотя бы правилом трех сигм воспользоваться


 
palva ©   (2009-10-09 20:38) [8]

Дмитрий С ©   (09.10.09 19:15)
Может быть, в задаче стояло "со средним 0 и дисперсией 1"? Тогда так можно:

{$APPTYPE CONSOLE}
Function Norm: Double;
var
 i: Integer;
 r: Double;
begin
 Result := 0.0;
 for i:=1 to 12 do Result := Result + random;
 Result := Result - 6.0;
end;
begin
 Randomize;
 WriteLn(Norm);
end.


 
31512 ©   (2009-10-09 21:04) [9]

Когда пишут "нормально распределённое число", то обычно имеют ввиду распределение Гаусса.
http://www.alglib.net/specialfunctions/distributions/normal.php


 
Григорьев Антон ©   (2009-10-09 22:39) [10]

Нормальное распределение не может лежать в диапазоне 0..1, нормальное распределение - это всегда от минутс бесконечности до плюс бесконечности. А вообще, для получения нормального распределения есть функция RandG в модуле Math. Зачем для его получения нужны "сколько угодно случайных чисел от 0 до 32768", я не понимаю.


 
Styx   (2009-10-10 00:56) [11]

Для начала - нужно понять, какое же действительно распределение Вам нужно, потом - идите сюда: http://www.iro.umontreal.ca/~lecuyer/myftp/streams00/c/



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.005 c
15-1254858167
Magedon
2009-10-06 23:42
2009.12.06
Delphi 2007 + Vista SP2


15-1255081170
ZeroDivide
2009-10-09 13:39
2009.12.06
Нобелевская премия опустилась в моих глазах


1-1227699997
leonon
2008-11-26 14:46
2009.12.06
#ИМЯ? вместо функции при загрузке книги Excel


3-1231164216
zorik
2009-01-05 17:03
2009.12.06
Invalid cursor declaration


15-1254837325
VladOfMonster
2009-10-06 17:55
2009.12.06
Срочно. Установка wine в Linux





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский