这是一个使用std::binomial_distribution
从二项式分布中抽取随机数的示例
#include <random>
int main ()
{
std::mt19937 eng(14);
std::binomial_distribution<size_t> dist(28,0.2);
size_t randomNumber = dist(eng);
return 0;
}
我没有找到类似的提振例子。我经历了this documentation,它解释了如何从
boost::math::binomial
对象计算PDF,CDF和其他文件,但是他们没有谈论对随机数进行采样。我是否应该根据
boost::math::binomial
将为我计算的CDF自己编写二进制搜索,还是可以直接提升随机数? 最佳答案
感谢@Bob__的this link,这是一个简单的工作示例
#include <random>
#include <boost/random.hpp>
int main ()
{
std::mt19937 eng;
boost::random::binomial_distribution<int> dist(28,0.2);
int randomNumber = dist(eng);
return 0;
}
由于某种原因,它将无法使用
size_t
进行编译,因此我使用了int
(有关更多信息,请参见下面的@Bob__的注释)。关于c++ - 从Boost二项式分布中抽取随机数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50689949/