谁能用C语言或matlab产生5行4列按泊松分布且值在0和1之间的随机数
谁能用C语言或matlab产生5行4列按泊松分布且值在0和1之间的随机数需提供程序代码或操作流程,我要求有最终的数值
最佳回答
第一步:产生很多(0,1)上的均匀分布随机数(可以查表,不过一般的软件可以直接调)设为x1,x2,x3,x4,x5。第二步:假设需要模拟的泊松分布参数为λ,计算出e^(-λ),第三步:取满足x1* x2* 。。。* xk >= e^(-λ) > x1* x2* 。。。*x(k+1) 中的K为产生的第一个随机数,然后把上面用过的k+1个数去掉,又重复上面的步骤就可以了。比如 x1*x2 >= e^(-λ),但是x1*x2*x3 < e^(-λ),那么产生的第一个随机数就为2,然后又从x4乘起,重复上面的步骤,产生第二个随机数。#include #include #include #include double Rand(){\x05return (double)(rand() & 0xFFFF) / (double)0x10000;}int Prand(double n){\x05double t=1,x = Rand();\x05int y = 0;\x05do\x05{\x05\x05t *= x;\x05\x05x = Rand();\x05\x05if(t >= n) y ++;\x05}\x05while(t >= n);\x05return y;}void main(){\x05int table[5][4];\x05double n;\x05srand(time(NULL));\x05printf("please input number");\x05scanf("%lf",&n);\x05n = exp(-n);\x05for(int i=0;i
最新回答共有2条回答
-
2026-04-02 10:26:49危机的夏天
回复第一步:产生很多(0,1)上的均匀分布随机数(可以查表,不过一般的软件可以直接调)设为x1,x2,x3,x4,x5。第二步:假设需要模拟的泊松分布参数为λ,计算出e^(-λ),第三步:取满足x1* x2* 。。。* xk >= e^(-λ) > x1* x2* 。。。*x(k+1) 中的K为产生的第一个随机数,然后把上面用过的k+1个数去掉,又重复上面的步骤就可以了。比如 x1*x2 >= e^(-λ),但是x1*x2*x3 = n) y ++;\x05}\x05while(t >= n);\x05return y;}void main(){\x05int table[5][4];\x05double n;\x05srand(time(NULL));\x05printf("please input number");\x05scanf("%lf",&n);\x05n = exp(-n);\x05for(int i=0;i
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
