Текст подпрограммы и версий sf56r_c.zip |
Тексты тестовых примеров tsf56r_c.zip |
Вычисление обратной функции t - распределения вероятностей Стьюдента.
По заданному значению вероятности P sf56r_c вычисляет такое значение X, что абсолютное значение случайной величины, подчиненной закону t - распределения вероятностей Стьюдента со степенью свободы DF (DF ≥ 1), больше X.
G.W.Hill, Algorithm 396, Student's t - quantilies, CACM, 13 (10), 1970.
real sf56r_c (real *p, real *df, integer *ierr)
Параметры
p - | заданное значение вероятности (тип: вещественный); |
df - | заданное значение степени свободы t - распределения вероятностей Стьюдента (тип: вещественный); |
ierr - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы функции; при этом: |
ierr=65 - | когда заданная степень свободы t - распределения Стьюдента меньше 1; значение функции полагается равным 3.4e38; |
ierr=66 - | когда заданное значение вероятности не принадлежит интервалу (0, 1); значение функции полагается равным 3.4e38. |
Версии: нет
Вызываемые подпрограммы
sf51r_c - | вычисление обратной функции нормального pаспределения вероятностей. |
utsf14_c - | подпрограмма выдачи диагностических сообщений в ходе работы функции sf56r_c. |
Замечания по использованию: нет
int main(void) { /* Local variables */ static int ierr; extern float sf56r_c(float *, float *, int *); static float p, x, df; df = 1.f; p = .7999537599f; x = (float)sf56r_c(&p, &df, &ierr); printf("\n %16.7e %16.7e \n",p,df); printf("\n %16.7e %5i \n",x,ierr); return 0; } /* main */ Результаты: x = 0.325000000004 , ierr = 0