如何在C ++中为超几何分布生成随机变量?不幸的是,标准库没有提供std::hypergeometric_distribution
。有一个boost::math::hypergeometric_distribution
;但是,它似乎不能用于生成随机变量。
答案 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,而我的采样似乎与此保持一致。请检查更新的代码。