第一种: 直接生成
记 F_0 = e^(-lamda)
F_n = p_0 + p_1 + ... + p_n
其中 p_n = P( X = n )
然后
1. 随机生成一个[0,1]区间上的随机数ran
2. 如果ran < F_0, 令 x = 0
3. 如果存在某一个值k使得 F_(k-1)< ran < F_k, 令 x=k
x就是所要生成的泊松随机数
第二种: 分数乘积法
当lamda非常大的时候相当复杂,不提也罢
第三种:中心极限定理近似
1. 生成随机数ran
2. 计算相应的标准正态随机数nor
3. 计算poi = lamda + nor * (lamda^(1/2))
4. 取与poi 最接近的非负整数作为所要生成的泊松随机数
泊松分布的随机数的函数或算法
最新推荐文章于 2022-08-25 10:36:34 发布