|
Текст подпрограммы и версий 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