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

Функция:  sf56r_c

Назначение

Вычисление обратной функции 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