Нормальное распределение

Previous  Top  Next

    
 

 

Code:

{ **** UBPFD *********** by kladovka.net.ru ****

>> Нормальное распределение

 

Возвращает случайное число, распределенное по нормальному закону распределения

с заданным математическим ожиданием и дисперсией

 

Зависимости: System

Автор:       Mystic, mystic2000@newmail.ru, 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;

 

 

 

Пример использования:

Code:

X := Gauss(0, 1);

 

©Drkb::04136


 

В стандартном модуле  Math есть функция

 

function RandG(Mean, StdDev: Extended): Extended;

©Drkb::04137

Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)