Текст подпрограммы и версий sf70r_p.zip |
Тексты тестовых примеров tsf70r_p.zip |
Вычисление обратной функции показательного распределения вероятностей.
SF70R вычисляет значение x такое, что F (x, λ) = P, где F (x, λ) - функция показательного распределения вероятностей:
x F (x, λ) = λ ∫ e - λz dz , λ > 0 0
Справочник по специальным функциям. Под ред. M.Абрамовица, И.Стеган. M.: "Hаука", 1979.
procedure SF70R(P :Real; RL :Real; var X :Real; var IERR :Integer);
Параметры
P - | заданное значение аргумента (тип: вещественный); |
RL - | параметр λ обратной функции показательного распределения (тип: вещественный); |
X - | вещественная переменная, содержащая вычисленное значение функции; |
IERR - | целая переменная, служащая для сообщения об ошибках; при этом: |
IERR = 65, когда λ ≤ 0; IERR = 66, когда P < 0, либо P > 1; значение x в обоих случаях полагается равным нулю. |
Версии: нет
Вызываемые подпрограммы
UTSF16 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы SF70R. |
Замечания по использованию: нет
Unit tsf70r_p; interface uses SysUtils, Math, { Delphi } Lstruct, Lfunc, UtRes_p, SF70R_p; function tsf70r: String; implementation function tsf70r: String; var IERR :Integer; FX :Real; begin Result := ''; { результат функции } SF70R(0.77686984,1.0,FX,IERR); Result := Result + Format('%16.7f ',[FX]) + #$0D#$0A; Result := Result + Format('%5d ',[IERR]) + #$0D#$0A; UtRes('tsf70r',Result); { вывод результатов в файл tsf70r.res } exit; end; end. Результаты: FX = 1.49999999996 , IERR = 0