|
Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://num-anal.srcc.msu.ru/lib_na/cat/sf_htm_c/sf51r_c.htm
Дата изменения: Tue Nov 24 11:12:27 2015 Дата индексирования: Sun Apr 10 02:33:51 2016 Кодировка: Windows-1251 |
|
Текст подпрограммы и версий 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