|
Текст подпрограммы и версий sf46r_p.zip |
Тексты тестовых примеров tsf46r_p.zip |
Вычисление функции χ2 - распределения вероятности с целыми степенями свободы.
SF46R вычисляет вероятность того, что случайная величина, подчиненная χ2 - распределению с целым параметром N (N ≥ 1), больше x (x ≥ 0).
I.D.Hill, M.C.Pike, Algorithm 299 - Chi - squared Integral (S15), CACM, 10 (4), 1967.
function SF46R(X :Real; N :Integer; var IERR :Integer): Real;
Параметры
| X - | заданное значение аргумента x (тип: вещественный); |
| N - |
заданное значение степени свободы χ2 - распределения (тип: целый); |
| IERR - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы функции; при этом: |
| IERR=65 - | когда верхний предел интегрирования меньше 0; значение функции положено равным 3.4E38; |
| IERR=66 - | когда заданная степень свободы меньше 1; значение функции положено равным 3.4E38. |
Версии: нет
Вызываемые подпрограммы
| SF35R - | вычисление дополнительной функции ошибок (дополнительного интеграла вероятности) erfc x. |
| UTSF12 - | подпрограмма выдачи диагностических сообщений в ходе работы функции SF46R. |
Замечания по использованию: нет
Unit tsf46r_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc, UtRes_p, SF46R_p;
function tsf46r: String;
implementation
function tsf46r: String;
var
N,IERR :Integer;
X,Y :Real;
begin
Result := ''; { результат функции }
X := 9.2205;
N := 2;
Y := SF46R(X,N,IERR);
Result := Result + Format(' %20.16f ',[Y]) + #$0D#$0A;
Result := Result + Format('%5d ',[IERR]) + #$0D#$0A;
UtRes('tsf46r',Result); { вывод результатов в файл tsf46r.res }
exit;
end;
end.
Результаты:
Y = 0.00994933066
IERR = 0