从Boost二项分布中提取随机数

时间:2018-06-04 23:09:09

标签: c++ random boost binomial-cdf

以下是使用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自己编写二进制搜索,还是可以直接返回随机数?

1 个答案:

答案 0 :(得分:0)

感谢来自@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 __&#39评论)。

相关问题