Нормальное распределение
01.01.2007
{ **** 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;
Пример использования:
X := Gauss(0, 1);
В стандартном модуле Math есть функция
function RandG(Mean, StdDev: Extended): Extended;