请问哪位大虾有C++实现的泊松分布的函数源码,请赐予小弟,高分回报
请问哪位大虾有C++实现的泊松分布的函数源码,请赐予小弟,高分回报 问题点数:0、回复次数:2Top
1 楼saint001(saint001)回复于 2003-12-01 22:01:36 得分 0
//离散概率分布的产生应该是按照定义就行了
//如果要产生很多相同lambda的泊松分布随机数,可以进行优化,没必要多次调用
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
#include "time.h"
int poissrnd(double lambda)
{
double rnd=(rand()+0.0)/RAND_MAX;
double p=exp(-lambda);
double pos=p;
int k=0;
while(1)
{
if(pos>rnd)
return k;
k++;
p*=lambda/k;
pos+=p;
}
}
void main()
{
srand(time(NULL));
printf("%d\n",poissrnd(5));
}Top
2 楼Cherishlin(悠然)回复于 2003-12-02 09:30:24 得分 0
多谢,但并非我所欲也Top




