最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
用C语言生成泊松分布随机数实例源码
时间:2022-06-25 04:49:52 编辑:袖梨 来源:一聚教程网
帮一个朋友做管理学科研究生阶段的一个作业,是对库存系统仿真,其中里面零售商的需求是泊松分布的随机数。需要用C语言产生泊松分布的随机数,通过找资料和编程实践,简单的程序写了出来,如下,供参考。
代码如下 | 复制代码 |
algorithm poisson random number (Knuth): init: Let L ← exp(−λ), k ← 0 and p ← 1. do: k ← k + 1. Generate uniform. random number u in [0,1] and let p ← p × u. while p >= L. return (k − 1). |
C语言实现的泊松分布随机数的代码如下:
代码如下 | 复制代码 |
#include #include #include double U_Random(); int possion(); void main() { double u = U_Random(); int p = possion(); printf("%fn",u); printf("%dn",p); } int possion() /* 产生一个泊松分布的随机数,Lamda为总体平均数*/ { int Lambda = 20, k = 0; long double p = 1.0; long double l=exp(-Lambda); /* 为了精度,才定义为long double的,exp(-Lambda)是接近0的小数*/ printf("%.15Lfn",l); while (p>=l) { double u = U_Random(); p *= u; k++; } return k-1; } double U_Random() /* 产生一个0~1之间的随机数 */ { double f; srand( (unsigned)time( NULL ) ); f = (float)(rand() % 100); /* printf("%fn",f); */ return f/100; } |
关于这个简单的库存仿真的全部代码:https://github.com/smilejay/c-cpp/tree/master/inventory-simulation
相关文章
- 《尼尔:机械纪元》武器黑之倨傲属性及特殊能力介绍 11-15
- 《尼尔:机械纪元》机械生命体的枪获得方法介绍 11-15
- 《尼尔:机械纪元》武器机械生命体的枪属性及特殊能力介绍 11-15
- 《尼尔:机械纪元》天使之圣翼获得方法介绍 11-15
- 《尼尔:机械纪元》武器天使之圣翼属性及特殊能力介绍 11-15
- 《尼尔:机械纪元》武器恶魔之秽牙属性及特殊能力介绍 11-15