gpt4 book ai didi

c++ - 如何改变高斯分布的种子( boost )

转载 作者:行者123 更新时间:2023-11-30 05:05:00 25 4
gpt4 key购买 nike

我在 How to use boost normal distribution classes? 上找到了这个例子

#include <boost/random.hpp>
#include <boost/random/normal_distribution.hpp>

int main() {
boost::mt19937 rng; // I don't seed it on purpouse (it's not relevant)

boost::normal_distribution<> nd(0.0, 1.0);

boost::variate_generator<boost::mt19937&,
boost::normal_distribution<> > var_nor(rng, nd);

int i = 0;
for (; i < 10; ++i) {
double d = var_nor();
std::cout << d << std::endl;
}
}

我想知道我做了什么添加到代码中以每次生成不同的随机数。我在 for 循环中使用名为 produced d 的数字,但每次运行程序时,我总是获得相同的数字。谢谢!!!!

最佳答案

我用这种方法解决了,似乎可行:

我添加了库:

      #include<time.h>

并修改这个:

    boost::mt19937 rng(time(0));

这样我猜测种子就是电脑的时间。

关于c++ - 如何改变高斯分布的种子( boost ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48608006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com