永发信息网

求一泊松分布的c++程序

答案:1  悬赏:20  手机版
解决时间 2021-07-31 06:43
求一泊松分布的c++程序
P{X=k}= (λ“-k e-λ)/k!k =0,1,2… λ >0;
0 λ
最佳答案

大致有三种方法:
第一种:直接生成
记 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 最接近的非负整数作为所要生成的泊松随机数
给你一个具体的吧:
为了产生泊松分布抽样间隔,首先需要决定抽样的参数λ,例如平均抽样间隔是30 秒,时间单位为秒,那么λ=30,θ=1/30 .然后,产生一系列指数分布的(伪)随机数E1,E2,…,En,…,第一次抽样的时刻为E1,第二次抽样的时刻为E1+E2 等等,依此类推.
一种生成指数分布的(伪)随机数Ei 的方法:在0 和1 之间产生均匀分布的U1,U2,…,Un,…(伪) 随机数,利用这些Ui 值,产生所需要的Ei 值:
#include math.h
//
double Poisson(double lambda,long nSeed)
{
double u = Uniform(0.0,1.0,&nSeed);
double fRet = log(u) * (-1) *lambda;
if(fRet < 1.0)
{
return Poisson(lambda,++nSeed);
}
return fRet;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么做才能让自己不这么自私和小气????
炫舞里的舞团贡献怎么能快速搞到500?
QQ炫舞怎么很快得到舞团贡献
魅族M8有人用吗?感觉怎么样?
09年10月13日的地下城与勇士什么时候开
七个月的孕妇应注意哪些饮食习惯
四川3区怎么转区啊
依兰县哈尔滨欣梦轩我想知道这个在什么地方
化用古诗词,化用古诗词的作文
陈冠希他出什么新衣服了吗?
劲舞团的,帮我看看哪套好看,
商场门口有个4平方宽的档口,做什么生意好?
怎么才能追到她…
步步高手机是什么格式
怎样打提亚斯
推荐资讯
湖南好吃好玩好购的地方
一个可爱的女孩,我要怎么样才能让她真正开心?
发qq信息给她,总是不回答我,这意味着什么?该
有个动画片里面有这人物的叫什么动画片的
怎么才能不伤和气的拒绝别人递烟----
苏州新区横山到园区胜蒲路288《新义半导体》
什么时候NDSL神游行货会降价
我是寻仙新手,看不懂缩略语,能不能把寻仙中常
我想买蔡洪光出版的书籍、一用就灵、观手知健
平桥区信阳蓝月亮酒店这个地址在什么地方,我
拉面师傅如果要用一根很粗的面条拉出1000多根
下一站,幸福共几集?第5集出了吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?