C++生成随机数:possion(泊松)分布(possion distribution)

long cls_random::randomPossion(double lambda)
{
    double x = -1, u;  
    double log1, log2;
    log1 = 0;
    log2 = -lambda;
    do
    {
        u = cls_random::randomUniform();   
        log1 += log(u);
        x++;   
    }while(log1 >= log2);
    return x;   
}

期望:E=lambda

方差:V=lambda

wiki: http://zh.wikipedia.org/wiki/%E6%B3%8A%E6%9D%BE%E5%88%86%E4%BD%88

原文地址:https://www.cnblogs.com/yeahgis/p/2592702.html