Нужны были случайные числа, распределенные по нормальному закону распределения с заданным математическим ожиданием и дисперсией.
Где то так:
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;
Но оказалось, что в kolmath.pas есть нормально распределенные Гаусса.
{ RandG produces random numbers with Gaussian distribution about the mean.
Useful for simulating data with sampling errors. }
function RandG(Mean, StdDev: Extended): Extended;
nesco, может добавишь строчку в hiMathParse, или в hiRandom?
Ответов: 2059
Рейтинг: 132
|
|||
карма: 6 |
|