谁能用C语言或matlab产生5行4列按泊松分布且值在0和1之间的随机数

学习 时间:2026-04-02 10:26:49 阅读:3229
谁能用C语言或matlab产生5行4列按泊松分布且值在0和1之间的随机数需提供程序代码或操作流程,我要求有最终的数值

最佳回答

明理的高山

清爽的月亮

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 < 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

上一篇 圆心角,弦,弧三者间的关系

下一篇 英语6.Having a trip abroad is certainly good for the old peopl