Текст подпрограммы и версий
sf46r_p.zip
Тексты тестовых примеров
tsf46r_p.zip

Функция:  SF46R (модуль SF46R_p)

Назначение

Вычисление функции  χ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