Текст подпрограммы и версий sf55r_p.zip |
Тексты тестовых примеров tsf55r_p.zip |
Вычисление функции t - распределения вероятностей Стьюдента.
SF55R вычисляет вероятность того, что абсолютное значение случайной величины, подчиненной закону t - распределения вероятностей Стьюдента со степенью свободы DF (DF ≥ 1), больше абсолютного значения x.
G.W.Hill, Algorithm 395, Student's t - distribution, CACM, 13 (10), 1970.
function SF55R(X :Real; DF :Real; var IERR :Integer): Real;
Параметры
X - | заданное значение аргумента x (тип: вещественный); |
DF - | заданное значение степени свободы t - распределения вероятностей Стьюдента (тип: вещественный); |
IERR - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы функции; при этом: |
IERR=65 - | когда заданная степень свободы t - распределения Стьюдента меньше 1; значение функции полагается равным 3.4E38. |
Версии: нет
Вызываемые подпрограммы
SF35R - | вычисление дополнительной функции ошибок (дополнительного интеграла вероятности) erfc x. |
UTSF14 - | подпрограмма выдачи диагностических сообщений в ходе работы функции SF55R. |
Замечания по использованию: нет
Unit tsf55r_p; interface uses SysUtils, Math, { Delphi } Lstruct, Lfunc, UtRes_p, SF55R_p; function tsf55r: String; implementation function tsf55r: String; var IERR :Integer; DF,X,P :Real; begin Result := ''; { результат функции } DF := 1.0; X := 0.325; P := SF55R(X,DF,IERR); Result := Result + Format('%s',[' DF=']); Result := Result + Format('%20.16f ',[DF]); Result := Result + Format('%s',[' X=']); Result := Result + Format('%20.16f ',[X]); Result := Result + Format('%s',[' P=']); Result := Result + Format('%20.16f ',[P]) + #$0D#$0A; Result := Result + Format('%s',[' IERR=']); Result := Result + Format('%5d ',[IERR]) + #$0D#$0A; UtRes('tsf55r',Result); { вывод результатов в файл tsf55r.res } exit; end; end. Результаты: P = 0.799953759935 , IERR = 0