我正在寻找一种方法来生成一组具有指定均值和标准的整数。偏差。
使用随机库,可以生成一组以高斯方式分布的随机双打,这看起来像这样:
#include <tr1/random>
std::tr1::normal_distribution<double> normal(mean, stdDev);
std::tr1::ranlux64_base_01 eng;
eng.seed(1000);
for (int i = 0; i < N; i++)
{
gaussiannums[i] = normal(eng);
}
但是,对于我的应用程序,我需要整数而不是双精度数。所以我的问题是,除了整数而不是双精度数,您将如何生成上述等效项?一种可能的方法是以某种方式将双精度数转换为整数,但我对随机库的工作方式知之甚少,无法知道这是否可以以真正保留钟形和均值/标准的方式完成. 偏差。
我应该提到,这里的目标不是随机性,而是获得一组特定大小的整数,具有正确的均值和标准差。偏差。
理想情况下,我还想指定可以产生的最小值和最大值,但我还没有找到任何方法来做到这一点,即使是双打,所以也欢迎任何关于此的建议。