Подпрограмма: sf41r_c
Назначение
Вычисление биномиальной функции распределения вероятностей
Bi (n, p).
Математическое описание
Пусть мы имеем n испытаний Бернулли с вероятностью
P успеха каждого такого испытания. Тогда sf41r_c вычисляет
вероятность РК того, что будет получено pовно
K успешных испытаний, и вероятность PS того, что
число успешных испытаний будет меньше или pавно K.
W.H.Beyer, Handbook of Tables for Probability and
Statistics, The Chemical Rubber Co., Cleveland, Ohio, 1966.
Использование
int sf41r_c (integer *n, integer *k, real *p, real *pk,
real *ps, integer *ierr)
Параметры
n -
|
заданное число испытаний Бернулли n (тип: целый);
|
k -
|
заданное число успешных испытаний (тип: целый);
|
p -
|
заданная вероятность успеха каждого испытания
Бернулли (тип: вещественный);
|
pk -
|
вещественная переменная, значение которой в
pезультате работы функции полагается равным
веpоятности того, что будет получено pовно k
успешных испытаний;
|
ps -
|
вещественная переменная, значение которой в
pезультате работы функции полагается равным
веpоятности того, что число успешных испытаний будет
меньше или pавно k;
|
ierr -
|
целая переменная, служащая для сообщения об
ошибках, обнаруженных в ходе работы функции; при этом:
|
ierr=65 -
|
когда число успешных испытаний
Бернулли задано меньшим 0 или большим общего
числа испытаний; значения выходных
вероятностей положены равными 3.4e38;
|
ierr=66 -
|
когда заданная вероятность успешного
испытания Бернулли не принадлежит
отрезку [0, 1]; значения выходных
вероятностей положены равными 3.4e38.
|
Версии
sf41d_c -
|
вычисление биномиальной функции распределения
вероятностей Bi (n, p) с повышенной точностью.
|
Вызываемые подпрограммы
utsf12_c -
|
подпрограмма выдачи диагностических сообщений
при работе подпрограммы sf41r_c.
|
utsf13_c -
|
подпрограмма выдачи диагностических сообщений
при работе подпрограммы sf41d_c.
|
Замечания по использованию
|
Для функции sf41d_c параметры p, pk и ps должны иметь тип
double и при
ierr ≠ 0 значения выходных
вероятностей полагаются равными 1.7e308.
|
Пример использования
int main(void)
{
/* Local variables */
extern int sf41r_c(int *, int *, float *, float *, float *, int *);
static int ierr, k, n;
static float p, pk, ps;
n = 5;
k = 0;
p = .05f;
sf41r_c(&n, &k, &p, &pk, &ps, &ierr);
printf("\n %16.7e %16.7e \n",pk,ps);
printf("\n %5i %5i %16.7e %5i \n",n,k,p,ierr);
return 0;
} /* main */
Результаты:
pk = 0.773780937
ps = 0.773780937
ierr = 0