泊松分布方程是由法国数学家泊松(1781-1840)发现并创立的,主要是描述小概率事件发生的概率,在体育比赛中广泛应用来预测比赛结果。如:使用时只要输入球队的历史平均入球(0.01-4球),即可预测球队在本次比赛中可能出现的结果。
常用于描述单位时间、单位平面或单位空间中罕见“质点”总数的随机分布规律。
Piosson分布的条件
由于Piosson分布是二项分布的特例,所以,二项分布的三个条件也就是Piosson分布的适用条件。
另外,单位时间、面积或容积、人群中观察事件的分布应该均匀,才符合Piosson分布。
注二项分布的条件:
(1) 每次实验只有两类对立的结果;
(2) n次事件相互独立;
(3) 每次实验某类结果的发生的概率是一 个常数。
#include <math.h>
int GetPoissionRand_r(double expectValue);// 生成期望值为expectValue泊松随机数
int CTestDlg:: GetPoissionRand_r(double expectValue)
// 操作结果:生成期望值为expectValue泊松随机数
{
double x = rand() / (double)(RAND_MAX + 1); // x均匀分布于[0, 1)
int k = 0;
double p = exp(-expectValue); // pk为泊松分布值
double s = 0; // sk用于求和p0+p1+...+pk-1
while (s <= x)
{ // 当sk <= x时循环, 循环结束后sk-1 <= x < sk
s += p; // 求和
k++;
p = p * expectValue / k; // 求下一项pk
}
return k - 1; // k-1的值服从期希值为expectValue的泊松分布
}
int nTemp;
nTemp= GetPoissionRand_r(10);
CString strTemp;
strTemp.Format("%d",nTemp);
AfxMessageBox(strTemp);
From http://blog.sina.com.cn/s/blog_4171e80d0100fjrd.html