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

Функция:  SF51R (модуль SF51R_p)

Назначение

Вычисление обратной функции нормального распределения вероятности.

Математическое описание

SF51R вычисляет значение  x  такое, что
                      x
     1/(2π)1/2  ∫ e - t*t / 2 dt  =  P  ,
                   -∞ 
где  P - заданное значение вероятности (0 < P < 1). 

Алгоритм, реализованный в подпрограмме, основан на использовании минимаксных аппроксимаций.

A.J.Strecok, On the Calculation of the Inverse of the Error Function, Mathematics of Computation, 22(101), 1968.

Использование

function SF51R(P :Real; var IERR :Integer): Real;

Параметры

P - заданное значение вероятности (тип: вещественный);
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы функции; при этом:
IERR=65 - когда заданное значение вероятности P не принадлежит интервалу (0, 1); значение функции полагается равным 3.4E38.

Версии: нет

Вызываемые подпрограммы

UTSF12 - подпрограмма выдачи диагностических сообщений в ходе работы функции SF51R.

Замечания по использованию: нет

Пример использования

Unit tsf51r_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc, UtRes_p, SF51R_p;

function tsf51r: String;

implementation

function tsf51r: String;
var
IERR :Integer;
P,R :Real;
begin
Result := '';  { результат функции }
P := 0.5;
R := SF51R(P,IERR);
Result := Result + Format(' %20.16f  %20.16f %5d ',
 [P,R,IERR]) + #$0D#$0A;
UtRes('tsf51r',Result);  { вывод результатов в файл tsf51r.res }
exit;
end;

end.


Результаты:    R  =  0.0 ,  IERR  =  0