|
Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://num-anal.srcc.msu.su/lib_na/cat/sf_htm_c/sf57r_c.htm
Дата изменения: Tue Apr 28 08:30:02 2015 Дата индексирования: Sun Apr 10 01:48:22 2016 Кодировка: Windows-1251 |
|
Текст подпрограммы и версий sf57r_c.zip sf57d_c.zip |
Тексты тестовых примеров tsf57r_c.zip tsf57d_c.zip |
Вычисление функции гипергеометрического распределения вероятностей H (N, L ; N1).
sf57r_c вычисляет вероятность того, что случайная величина, подчиненная закону гипергеометрического распределения вероятностей, меньше или pавна k.
Другими словами, sf57r_c вычисляет вероятность того, что некоторая случайная бесповторная выборка объема L содержит точно или меньше k элементов класса 1, если эта выборка производится из генеральной совокупности N элементов, среди которых N1 элементов принадлежит классу 1:
P (x = k) = CkN1 CL-kN-N1 / CLN ,
P (x ≤ k) = P (x = k) + P (x = k - 1) + ... + P (x = 0) .
Здесь N ≥ L ≥ 1 , N ≥ N1 = q N ≥ 0 , N ≥ k ≥ 0 .
M.Abramowitz, I.A.Stegun, Handbook of Mathematical unctions, New York, Dover Publications, Inc., 1965.
int sf57r_c (integer *k, integer *n, integer *l,
integer *n1, real *p, real *q, integer *ierr)
Параметры
| k - | заданное значение аргумента k (тип: целый); |
| n - | заданное число элементов генеральной совокупности (тип: целый); |
| l - | заданный объем случайной бесповторной выборки (тип целый); |
| n1 - | заданное число элементов в генеральной совокупности, принадлежащих интересующему классу (тип: целый); |
| p - | вещественная переменная, значение которой в pезультате работы подпрограммы полагается равной вероятности того, что случайная величина pавна k; |
| q - | вещественная переменная, значение которой в pезультате работы подпрограммы полагается равной вероятности того, что случайная величина меньше или pавна k; |
| ierr - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом: |
| ierr=65 - | когда заданное значение числа элементов генеральной совокупности меньше 1; |
| ierr=66 - | когда значение параметра k не принадлежит отрезку (0, l); |
| ierr=67 - | когда заданный объем случайной выборки не принадлежит отрезку (1, n); |
| ierr=68 - | когда значение параметра n1 не принадлежит отрезку (0, n). |
Версии
| sf57d_c - | вычисление функции гипергеометрического распределения вероятностей с повышенной точностью. |
Вызываемые подпрограммы
| utsf14_c - | подпрограмма выдачи диагностических сообщений при работе подпрограммы sf57r_c. |
| utsf15_c - | подпрограмма выдачи диагностических сообщений при работе подпрограммы sf57d_c. |
Замечания по использованию
| В sf57d_c параметры p и q должны иметь тип double. |
int main(void)
{
/* Local variables */
static int ierr;
extern int sf57r_c(int *, int *, int *, int *, float *, float *, int *);
static int k, l, n;
static float p, q;
static int n1;
k = 2;
n = 32;
l = 2;
n1 = 4;
sf57r_c(&k, &n, &l, &n1, &p, &q, &ierr);
printf("\n %16.7e %16.7e %5i \n",p,q,ierr);
printf("\n %5i %5i %5i %5i \n",k,n,l,n1);
return 0;
} /* main */
Результаты:
p = 0.012096774193
q = 1.
ierr = 0