最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
用C语言生成泊松分布随机数实例源码
时间:2015-03-09 编辑:简简单单 来源:一聚教程网
帮一个朋友做管理学科研究生阶段的一个作业,是对库存系统仿真,其中里面零售商的需求是泊松分布的随机数。需要用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
相关文章
- Maven随机数生成实例带你入门 01-30
- C#复制数组的两种方式及效率比较解读 10-24
- ASP.NET Identity用法解析 10-24
- ASP.NET MVC使用Identity增删改查用户介绍 10-24
- C语言中atoi函数模拟实现介绍 10-18
- .Net反向代理组件Yarp用法介绍 10-10