|
Текст подпрограммы и версий sf72r_c.zip |
Тексты тестовых примеров tsf72r_c.zip |
Вычисление обратной функции двойного показательного распределения вероятностей.
sf72r_c вычисляет значение x такое, что F (x, λ, A) = Р, где F (x, λ, A) - функция двойного показательного распределения вероятностей:
x
F (x, λ, A) = λ/2 ∫ e - λ |z - A| dz , λ > 0
-∞
Справочник по специальным функциям. Под ред. M.Абрамовица, И.Стеган. M.: "Hаука", 1979.
int sf72r_c (real *p, real *rl, real *a, real *x,
integer *ierr)
Параметры
| p - | заданное значение аргумента (тип: вещественный); |
| rl, a - | параметры λ, A обратной функции двойного показательного распределения (тип: вещественный); |
| x - | вещественная переменная, содержащая вычисленное значение функции; |
| ierr - | целая переменная, служащая для сообщения об ошибках; при этом: |
| ierr=65 - | когда λ ≤ 0; |
| ierr=66 - | когда p < 0 либо p > 1; |
| значение x в обоих случаях полагается равным нулю. |
Версии: нет
Вызываемые подпрограммы
| utsf16_c - | подпрограмма выдачи диагностических сообщений при работе подпрограммы sf72r_c. |
Замечания по использованию: нет
int main(void)
{
/* Local variables */
extern int sf72r_c(float *, float *, float *, float *, int *);
static float x;
static int ierr;
static float c_b1 = .5f;
static float c_b2 = 1.f;
static float c_b3 = 0.f;
sf72r_c(&c_b1, &c_b2, &c_b3, &x, &ierr);
printf("\n %16.7e %5i \n",x,ierr);
return 0;
} /* main */
Результаты: x = 0.0 , ierr = 0