Текст подпрограммы и версий 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