Текст подпрограммы и версий sf58r_p.zip |
Тексты тестовых примеров tsf58r_p.zip |
Вычисление предельного распределения статистик Колмогорова - Смирнова.
SF58R вычисляет значения P1 (x) и P2 (x) по следующим формулам:
P1(x) = 0 , x ≤ 0 (1) P1(x) = 1 - exp( -2x2) , x > 0 P2(x) = 0 , x ≤ 0 (2) ∞ P2(x) = 1 + 2 ∑ (- 1) k exp(- k2x2) , x > 0 k=1
procedure SF58R(X :Real; var P1 :Real; var P2 :Real);
Параметры
X - | заданное значение аргумента x (тип: вещественный); |
P1, P2 - | вещественные переменные, содержащие вычисленные значения функций по формулам (1) и (2) соответственно. |
Версии: нет
Вызываемые подпрограммы: нет
Замечания по использованию
Для 0 ≤ x ≤ 0.2 P2 ≡ 0 ; для x ≥ 4.0 P1 = P2 = 1. |
Unit tsf58r_p; interface uses SysUtils, Math, { Delphi } Lstruct, Lfunc, UtRes_p, SF58R_p; function tsf58r: String; implementation function tsf58r: String; var X,P1,P2 :Real; begin Result := ''; { результат функции } X := 0.4; SF58R(X,P1,P2); Result := Result + Format('%s',[' P1' + #$0D#$0A]); Result := Result + Format('%20.16f ',[P1]) + #$0D#$0A; Result := Result + Format('%s',[' P2' + #$0D#$0A]); Result := Result + Format('%20.16f ',[P2]) + #$0D#$0A; UtRes('tsf58r',Result); { вывод результатов в файл tsf58r.res } exit; end; end. Результаты: P1 = 0.27385096292 P2 = 0.28076732217*10 - 2