C++生成随机数:负二项分布/帕斯卡分布(negative binomial distribution)
2012-07-15 21:01
281 查看
long cls_random::randomNegativeBinomial( double r, double probability) { long rnd = 0; double fr = 0.0; while(true) { double pV = (double)rand()/(double)RAND_MAX; if (pV<probability) { rnd++; } else { fr++; } if (fr>r) { break; } } return rnd; }
期望:E=r*(1-p)/p
方差:V=r*(1-p)/(p*p)
wiki: http://zh.wikipedia.org/wiki/%E8%B4%9F%E4%BA%8C%E9%A1%B9%E5%88%86%E5%B8%83
相关文章推荐
- C++生成随机数:X2(卡方)分布(X2 distribution)
- C++生成随机数:Gamma(伽马)分布(gamma distribution)
- negative binomial(Pascal) distribution —— 负二项式分布(帕斯卡分布)
- c++如何生成随机数
- C++快速生成随机数
- C++在一定范围内生成不重复随机数序列
- 【转】 C++生成随机数——生成任意范围内的等概率随机数
- C/C++中生成随机数
- C/C++生成随机数
- 使用C++ 11自带的库函数生成随机数
- C++随机数生成方法
- C++生成随机数:几何分布(geometric distribution)
- C语言/C++如何生成随机数
- C++在1秒内生成不同的随机数
- C/C++中随机数的生成
- C++ 随机数生成总结
- c++如何生成随机数
- C/C++生成随机数
- c++ 生成随机数rand()函数的使用:设定范围
- C++ 随机数生成