我从 cpluscplus dot com 得到的代码是:
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::default_random_engine generator (seed);
std::poisson_distribution<int> distribution (0.5);
std::cout << "some Poisson-distributed results (mean=0.5): ";
for (int i=0; i<10; ++i)
std::cout << distribution(generator) << " ";
std::cout << std::endl;
平均值为 5.2,我将其更改为 0.5 以生成 0 或 1。但有时会生成 2 或 3。我该如何限制呢?
编辑:我读了你说的。我需要泊松,我需要它作为二进制。原因如下:我正在研究“认知无线电网络中的频谱感知”这一主题。我读过的所有论文,作者都说“我使用泊松分布来测试我的研究”。对于不知道该主题的人:环境中有一个主要用户(许可用户)。它不时使用一个频道。还有次要用户(未授权用户),他们试图预测主要用户的时隙,以便他们可以在主要用户关闭时跳转到频道。所以,要做到这一点:
primaryUserTimeslotTable={1,1,1,0} //should be generated with poisson dist. (papers say)
并且以相同的方式(具有相同的平均值)我们为每个认知用户创建这个数组。