Функция: sf39r_c
Назначение
Вычисление гамма - функции распределения
вероятностей I (x, p).
Математическое описание
sf39r_c вычисляет вероятность того, что случайная величина,
подчиненная гамма - распределению с параметром
p, меньше или равна заданному значению x.
Другими словами, sf39r_c вычисляет отношение I(x, p)= Гx(p) / Г(p) =
x ∞
= ∫ e - t t p - 1 dt / ∫ e - t t p - 1 dt ,
0 0
где Гx (p) - неполная гамма - функция,
Г (p) - гамма - функция (полная),
x и p - принимают вещественные значения, причем x ≥ 0 и p > 0.
M.Abramowitz, I.A.Stegun, Handbook of Mathematical
Functions, New York, Dover Publications, INC., 1965.
Использование
real sf39r_c (real *x, real *a, integer *ierr)
Параметры
x -
|
заданное значение аргумента x (тип: вещественный);
|
p -
|
заданное значение параметра p (тип: вещественный);
|
ierr -
|
целая переменная, служащая для сообщения об
ошибках, обнаруженных в ходе работы функции; при этом:
|
ierr=65 -
|
когда значение аргумента x меньше 0;
значение функции полагается равным 3.4e38;
|
ierr=66 -
|
когда значение параметра p
гамма - распределения меньше или pавно 0;
значение функции полагается равным 3.4e38.
|
Версии
sf39d_c -
|
вычисление гамма - функции распределения
вероятностей I (x, p) с повышенной точностью.
|
Вызываемые подпрограммы
utsf12_c -
|
подпрограмма выдачи диагностических сообщений
при работе функции sf39r_c.
|
utsf13_c -
|
подпрограмма выдачи диагностических сообщений
при работе функции sf39d_c.
|
Замечания по использованию
|
Для функции sf39d_c параметры x и p должны иметь тип
double и при
ierr ≠ 0 значение sf39d_c
полагается равным 1.74e308.
|
Пример использования
int main(void)
{
/* Local variables */
static int ierr;
extern float sf39r_c(float *, float *, int *);
static float a, r__, x;
x = 1.f;
a = 1.f;
r__ = (float)sf39r_c(&x, &a, &ierr);
printf("\n %16.7e %16.7e \n",x,a);
printf("\n %16.7e %5i \n",r__,ierr);
return 0;
} /* main */
Результаты:
r__ = 0.632120558812
ierr = 0