我正在使用C++ 11中提供的随机数发生器。目前,我正在使用均匀分布,这应该给我一个相同的概率,以获得我指定范围A & B内的任何数字。了解随机数发生器的泊松分布
但是,我对生成泊松分布感到困惑。虽然我知道如何确定Poisson probability,但我不明白如何根据泊松分布“随机分布”一系列数字。
例如,C++ 11构造为泊松分布有一个参数 - λ,它是mean of the distribution
std::tr1::poisson_distribution<double> poisson(7.0);
std::cout << poisson(eng) << std::endl;
在泊松概率问题,这是等于成功的期望数目/在给定的时间间隔内发生。但是,我不明白它在这种情况下代表什么。什么是随机数字场景中的“成功”/“发生”?
我很感激任何帮助或参考资料,我可以帮助我理解这一点。
这里的一部分问题可能是我不完全理解一个泊松分配。我的统计/概率文本讨论确定泊松概率,但没有提供有关在泊松分布内生成数字的任何内容。我目前没有真正的应用程序..我真的只是好奇这是如何工作的。 – BSchlinker 2012-02-22 09:24:35
示例实现可以为每个值计算出现概率,然后根据这些值计算范围以将均匀分布转换为泊松。例如为&lambda; == 2我们有13%的机会0,27%的机会1,27%的机会2 ...然后我们生成一个很好的旧的统一的随机数在0.0和1.0之间。如果这个数字<= 0.13返回0.是否<= 0.40返回1.是否<= 0.67返回2等... – oddstar 2012-02-22 10:08:30