多组独立的随机数

Multiple independent sets of random numbers

我想用C++生成N组独立的随机数

我尝试使用 std::random,但是我只能通过声明多个 default_random_engines 来做到这一点。它有效,但它不足以满足我的情况,因为我事先不知道我需要的独立集的数量。

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

我会说你不需要多个随机引擎,你需要的是多个分布。

类似

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);