生成Poisson泊松随机序列的代码

 

#include "stdafx.h"
#include
#include
#include  "math.h"


int PoissonRandom(double dbLambda)
{
    int n = 0;
    double limit = exp(-dbLambda);
    double x = rand() / (double) RAND_MAX ;
    while (x > limit)
    {
        n++;
        x *= rand() / (double) RAND_MAX ;
    }
    return n;
}


int main(void)
{
    int iLambda = 15;
    int iSeed = 12;
    srand(iSeed);
    for (int j = 0; j < 200; j++)
    {
        int iPoi = PoissonRandom(iLambda);
        printf("No %03d : %d/n", j, iPoi);
    }
    return 0;
}

 

你可能感兴趣的:(C/C++,math.h,include)