Текст подпрограммы и версий sf57r_p.zip , sf57e_p.zip |
Тексты тестовых примеров tsf57r_p.zip , tsf57e_p.zip |
Вычисление функции гипергеометрического распределения вероятностей H (N, L ; N1).
SF57R вычисляет вероятность того, что случайная величина, подчиненная закону гипергеометрического распределения вероятностей, меньше или pавна k.
Другими словами, SF57R вычисляет вероятность того, что некоторая случайная бесповторная выборка объема L содержит точно или меньше k элементов класса 1, если эта выборка производится из генеральной совокупности N элементов, среди которых N1 элементов принадлежит классу 1:
P (x = k) = CkN1 CL-kN-N1 / CLN , P (x ≤ k) = P (x = k) + P (x = k - 1) + ... + P (x = 0) . Здесь N ≥ L ≥ 1 , N ≥ N1 = q N ≥ 0 , N ≥ k ≥ 0 .
M.Abramowitz, I.A.Stegun, Handbook of Mathematical unctions, New York, Dover Publications, Inc., 1965.
procedure SF57R(K :Integer; N :Integer; L :Integer; N1 :Integer; var P :Real; var Q :Real; var IERR :Integer);
Параметры
K - | заданное значение аргумента k (тип: целый); |
N - | заданное число элементов генеральной совокупности (тип: целый); |
L - | заданный объем случайной бесповторной выборки (тип целый); |
N1 - | заданное число элементов в генеральной совокупности, принадлежащих интересующему классу (тип: целый); |
P - | вещественная переменная, значение которой в pезультате работы подпрограммы полагается равной вероятности того, что случайная величина pавна K; |
Q - | вещественная переменная, значение которой в pезультате работы подпрограммы полагается равной вероятности того, что случайная величина меньше или pавна K; |
IERR - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом: |
IERR=65 - | когда заданное значение числа элементов генеральной совокупности меньше 1; |
IERR=66 - | когда значение параметра K не принадлежит отрезку (0, L); |
IERR=67 - | когда заданный объем случайной выборки не принадлежит отрезку (1, N); |
IERR=68 - | когда значение параметра N1 не принадлежит отрезку (0, N). |
Версии
SF57E - | вычисление функции гипергеометрического распределения вероятностей с расширенной (Extended) точностью. |
Вызываемые подпрограммы
UTSF14 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы SF57R. |
UTSF15 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы SF57E. |
Замечания по использованию
B SF57E параметры P и Q должны иметь тип Extended. |
Unit tsf57r_p; interface uses SysUtils, Math, { Delphi } Lstruct, Lfunc, UtRes_p, SF57R_p; function tsf57r: String; implementation function tsf57r: String; var K,N,L,N1,IERR :Integer; P,Q :Real; begin Result := ''; { результат функции } K := 2; N := 32; L := 2; N1 := 4; SF57R(K,N,L,N1,P,Q,IERR); Result := Result + Format(' %20.16f %20.16f %10d %10d %10d %10d %10d ', [P,Q,IERR,K,N,L,N1]) + #$0D#$0A; UtRes('tsf57r',Result); { вывод результатов в файл tsf57r.res } exit; end; end. Результаты: P = 0.012096774193 Q = 1. IERR = 0