|
Текст подпрограммы и версий sf60r_c.zip sf61r_c.zip |
Тексты тестовых примеров tsf60r_c.zip tsf61r_c.zip |
Вычисление функции распределения вероятностей Пуассона.
sf60r_c вычисляет вероятности того, что целочисленная случайная величина, распределенная по закону Пуассона с параметром RLАМ, примет значение I
P {ξ = I} = T(I + 1) = (RLAM) I exp (- RLAM) / I ! , I = 0, 1, ..., K
а также вероятность P = P {ξ ≤ K} , т.е.
K
P = ∑ T(I + 1)
I=0
M.Abramowitz, I.A.Stegun, Handbook of Mathematical Functions, New York, Dover Publications, Inc., 1965.
int sf60r_c (integer *k, real *rlam, real *t, real *p)
Параметры
| k - | максимальное значение I, для которого вычисляется вероятность P {ξ = I} (тип: целый); |
| rlam - | заданный параметр распределения вероятностей Пуассона (тип: вещественный); |
| t - | вещественный вектоp длины k + 1, содержащий вычисленные значения вероятностей P {ξ = I} , 0 ≤ I ≤ k; |
| p - | вещественная переменная, содержащая вычисленное значение вероятности P {ξ ≤ k}. |
Версии
| sf61r_c - | вычисление функции распределения вероятностей Пуассона P {ξ ≤ k} (см. замечания по использованию). |
Вызываемые подпрограммы: нет
Замечания по использованию
|
Если P {ξ = I} меньше наименьшего представимого на данной ЭВМ вещественного числа , то программа полагает T(I) = 0. Если RLAM ≤ 0 , то P {ξ ≤ k} = 1. , T(1) = 1. , I(J) = 0, 2 ≤ J ≤ k. Подпрограмма sf61r_c имеет следующий список формальных параметровint sf61r_c (integer *k, real *rlam, real *p), так как производится вычисление только вероятности P {ξ ≤ k}. Смысл остальных параметров остается прежним. |
int main(void)
{
/* Local variables */
static float rlam;
extern int sf60r_c(int *, float *, float *, float *);
static int k;
static float p, t[2];
k = 1;
rlam = .6f;
sf60r_c(&k, &rlam, t, &p);
printf("\n %16.7e %16.7e \n",t[0],t[1]);
printf("\n %5i %16.7e %16.7e \n",k,rlam,p);
return 0;
} /* main */
Результаты:
t(1) = 0.54881163609
t(2) = 0.32928698166
p = 0.87809861775