Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Распределение Пуассона


Автор: generator 25.10.2005, 12:28
Здравствуйте!

Возникла проблема вот в чем:
Необходимо получить случайную величину, распределенную по функции Пуассона, в Delphi.

Я нашел "алгоритм" (см. в прикрепленном файле)

Код

function poisson(a: extended): integer;
var
  z,g,p: extended;
  k: integer;
begin
  randomize;
  z:=random;
  g:=exp(-a);
  p:=g;
  k:=0;
  while z>g do
  begin
    p := p * a / (k+1);
    g:=g+p;
    inc(k);
  end;
  result := k
end;


Но он генерирует какаие-то странные числа.
Помогите, plz, довести генератор Пуассоновской случайной величины до ума.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)