Нормальное распределение
Falk0ner, вс, 06/07/2008 - 15:35.
Нормальное распределение
{ **** UBPFD *********** by kladovka.net.ru ****
>>
Возвращает случайное число, распределенное по нормальному закону распределения
с заданным математическим ожиданием и дисперсией
Зависимости: System
Автор: Mystic, <a href="mailto:mystic2000@newmail.ru">mystic2000@newmail.ru</a>, ICQ:125905046, Харьков
Copyright: Из книги Полякова и Круглова "Turbo Pascal 5.5"
Дата: 25 апреля 2002 г.
********************************************** }
function Gauss(Mx, Sigma: Extended): Extended;
var
a, b, r, Sq: Extended;
begin
repeat
a := 2*Random - 1;
b := 2*Random - 1;
r := Sqr(a) + Srq(b);
until r<1;
Sq := Sqrt(-2*Ln(r)/r);
Result := Mx + Sigma * a * Sq;
end;
>>
Возвращает случайное число, распределенное по нормальному закону распределения
с заданным математическим ожиданием и дисперсией
Зависимости: System
Автор: Mystic, <a href="mailto:mystic2000@newmail.ru">mystic2000@newmail.ru</a>, ICQ:125905046, Харьков
Copyright: Из книги Полякова и Круглова "Turbo Pascal 5.5"
Дата: 25 апреля 2002 г.
********************************************** }
function Gauss(Mx, Sigma: Extended): Extended;
var
a, b, r, Sq: Extended;
begin
repeat
a := 2*Random - 1;
b := 2*Random - 1;
r := Sqr(a) + Srq(b);
until r<1;
Sq := Sqrt(-2*Ln(r)/r);
Result := Mx + Sigma * a * Sq;
end;
Пример использования:
X := Gauss(0, 1);
В стандартном модуле Math есть функция
function RandG(Mean, StdDev: Extended): Extended;
Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
Отправить комментарий