多个独立的随机数集

时间:2015-02-05 23:33:53

标签: c++ c++11 random

我想在C ++中生成N个独立的随机数集。

我尝试使用std::random,但我只能通过声明多个default_random_engines来实现。它有效,但对我的情况来说还不够,因为我不知道我需要的独立集的数量。

这很重要,因为我需要知道每组随机生成的数字都服从所选的分布,我不能只对我的所有数字使用相同的函数。

1 个答案:

答案 0 :(得分:3)

我会说你不需要多个随机引擎,你需要的是多个发行版。

类似

std::default_random_engine generator;

std::uniform_real_distribution<double> distributionA(0.0,1.0);
std::uniform_real_distribution<double> distributionB(-1.0,2.0);
std::uniform_real_distribution<double> distributionC(-7.0,0.5);

后来做了采样

double a = distributionA(generator);
double b = distributionB(generator);
double c = distributionC(generator);