从提升二项分布中抽取随机数



下面是一个从二项分布中抽取随机数的示例,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;
}

我未能找到类似的提升示例。我浏览了这个文档,它解释了如何从boost::math::binomial对象计算PDF,CDF和其他对象,但他们不是在谈论随机数采样。

我应该根据 CDF 自己编写一个二叉搜索,boost::math::binomial将为我计算还是可以直接提升返回随机数?

感谢@Bob__的这个链接,这里有一个简单的工作示例

#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__评论(。

相关内容

  • 没有找到相关文章

最新更新