Главная страница
    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.004 c
15-1254898716
Александр Ильин
2009-10-07 10:58
2009.12.06
Восстановление файла


15-1255183831
Kerk
2009-10-10 18:10
2009.12.06
Реквием по мечте


1-1227270584
parasolka
2008-11-21 15:29
2009.12.06
Ширина ячеек в DBGrid.


2-1255773566
dplz
2009-10-17 13:59
2009.12.06
Цвет выделенный строк в combobox без csOwnerDrawFixed


2-1255983310
Тимофей
2009-10-20 00:15
2009.12.06
Печать грида





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский