Главная страница
    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.47 MB
Время: 0.007 c
2-1256034430
Фуфик
2009-10-20 14:27
2009.12.06
Сменить путь в ADOConnection


9-1183225938
@!!ex
2007-06-30 21:52
2009.12.06
OpenGL. Модуль для работы с шейдерами.


2-1255948890
VGK
2009-10-19 14:41
2009.12.06
Нужна помощь: получить все четырехзначные натуральные числа...


15-1255117556
PoPooPoP
2009-10-09 23:45
2009.12.06
doc => tex


15-1254491780
Unknown user
2009-10-02 17:56
2009.12.06
Чтение/запись PSD (Photoshop) формата





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