c++ - 多组独立的随机数

标签 c++ c++11 random

我想用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);

关于c++ - 多组独立的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28356070/

相关文章:

c++ - 无法加载自定义 DLL

c++ - std::set 中索引处的元素?

c++ - 找不到 Windows SDK 版本 7.0

c++ - 需要有关使用 for 循环显示我的数组的帮助

c++ - 在 C++ 中使用随机数生成一系列可重复的数字

C++ : Extern C Functions inside a Namespace

c++ - Stroustrup 在定义变量时使用 auto 的原因

c++ - 为什么条件变量需要锁(因此也需要互斥锁)

c# - 为什么我的随机数生成器在 C# 中看起来不是随机的?

java - SecureRandom 应该用作单例还是每次生成随机数时都应该创建一个新对象?