Текст подпрограммы и версий sf51r_c.zip |
Тексты тестовых примеров tsf51r_c.zip |
Вычисление обратной функции нормального распределения вероятности.
SF51R_c вычисляет значение 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.
real sf51r_c (real *p, integer *ierr)
Параметры
p - | заданное значение вероятности (тип: вещественный); |
ierr - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы функции; при этом: |
ierr=65 - | когда заданное значение вероятности p не принадлежит интервалу (0, 1); значение функции полагается равным 3.4e38. |
Версии: нет
Вызываемые подпрограммы
utsf12_c - | подпрограмма выдачи диагностических сообщений в ходе работы функции sf51r_c. |
Замечания по использованию: нет
int main(void) { /* Local variables */ extern float sf51r_c(float *, int *); static int ierr; static float p, r__; p = .5f; r__ = (float)sf51r_c(&p, &ierr); printf("\n %16.7e %16.7e %5i \n",p,r__,ierr); return 0; } /* main */ Результаты: r__ = 0.0 , ierr = 0