|
Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://num-anal.srcc.msu.ru/lib_na/cat/sf_htm_c/sf40r_c.htm
Дата изменения: Wed Nov 25 14:48:48 2015 Дата индексирования: Sun Apr 10 02:32:41 2016 Кодировка: Windows-1251 |
|
Текст подпрограммы и версий sf40r_c.zip sf40d_c.zip |
Тексты тестовых примеров tsf40r_c.zip tsf40d_c.zip |
Вычисление неполной гамма - функции Гx (p) вещественного аргумента и вещественного параметра.
sf40r_c вычисляет неполную гамма - функцию Гx (p)
x
Гx (p) = ∫ e - t t p - 1 dt ,
0
где x и p - принимают вещественные значения, причем x ≥ 0 и p > 0.
M.Abramowitz, I.A.Stegun, Handbook of Mathematical Functions New York, Dover Publications, INC., 1965.
real sf40r_c (real *x, real *p, integer *ierr)
Параметры
| x - | заданное значение аргумента x (тип: вещественный); |
| p - | заданное значение параметра p (тип: вещественный); |
| ierr - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы функции; при этом: |
| ierr=65 - | когда значение аргумента x меньше 0; значение функции полагается равным 3.4e38; |
| ierr=66 - | когда значение параметра p неполной гамма - функции не принадлежит полуинтервалу (0, 21.4] ; значение функции полагается равным 3.4e38. |
Версии
| sf40d_c - | вычисление неполной гамма - функции Гx (p) с повышенной точностью. |
Вызываемые подпрограммы
| sf39r_c - | подпрограмма вычисления гамма - функции распределения вероятностей I (x, p); |
| sf39d_c - | подпрограмма вычисления гамма - функции распределения вероятностей I (x, p) с повышенной точностью; |
| sf23c_c - | подпрограмма вычисления гамма - функции и ее натурального логарифма от комплексного аргумента; |
| sf23p_c - | подпрограмма вычисления гамма - функции и ее натурального логарифма от комплексного аргумента с повышенной точностью; |
|
utsf10_c - utsf12_c | подпрограммы выдачи диагностических сообщений при работе функций sf23c_c, sf39r_c, sf40r_c; |
|
utsf11_c - utsf13_c | подпрограммы выдачи диагностических сообщений при работе функций sf23p_c, sf39d_c, sf40d_c |
Замечания по использованию
| Для функции sf40d_c параметры x и p (0 < p ≤ 408.909) должны иметь тип double и при ierr ≠ 0 значение sf40d_c полагается равным 1.7e308. |
int main(void)
{
/* Local variables */
extern float sf40r_c(float *, float *, int *);
static int ierr;
static float p, r__, x;
x = 1.f;
p = 1.f;
r__ = (float)sf40r_c(&x, &p, &ierr);
printf("\n %16.7e %16.7e \n",x,p);
printf("\n %16.7e %5i \n",r__,ierr);
return 0;
} /* main */
Результаты:
r__ = 0.6321205588074 ,
ierr = 0