Главная страница
    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.008 c
15-1254495687
Cyrax
2009-10-02 19:01
2009.12.06
Кто-нибудь знает, что такае "партномер" ?


11-1209014542
Алексей К.
2008-04-24 09:22
2009.12.06
Ошибка при обращении к StrList из своего объекта


2-1255701197
Артём
2009-10-16 17:53
2009.12.06
Динамические окна


15-1255027446
Piter
2009-10-08 22:44
2009.12.06
Word не может открыть файл более 32 MB?


2-1256015959
Wito
2009-10-20 09:19
2009.12.06
Многа букав в ini файле, как?





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