Форум: "Прочее";
Текущий архив: 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