产生随机分布的超几何分布

时间:2018-11-07 19:10:47

标签: c++ random boost distribution

如何在C ++中为超几何分布生成随机变量?不幸的是,标准库没有提供std::hypergeometric_distribution。有一个boost::math::hypergeometric_distribution;但是,它似乎不能用于生成随机变量。

1 个答案:

答案 0 :(得分:0)

好吧,这是简单的代码(尽管它可以编译,运行并产生类似于真实的东西,但可能带有错误)-采样Hypergeometric distribution。符号与Wiki文章中的相同。在内部,它将值[0 ... N-1]填充到数组中,先对其中的d3.default.behaviour进行混洗,然后对经过混洗的值是否小于import d3 from './lib/d3/v3/d3'; // which is short for import { default as d3 } from './lib/d3/v3/d3'; (成功)进行计数。

随机播放是经典的Fisher-Yates-Knuth之一。

interface CartSpecial extends Cart {
    ...
}

更新

我已经为超几何分布实现了PMF,而我的采样似乎与此保持一致。请检查更新的代码。