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