老师给的一个编写服从泊松分布的随机数的算法程序(Matlab编程,在r=2时,分别产生10个随机数。代码如下:
r=2;
k=1;
while k<=10
i=1;
p(i)=exp(-i);
F(i)=0;
u=rand;
while i<100
p(i+1)=double(p(i)*r/i);
F(i+1)=F(i)+p(i+1);
if u>=F(i)&&u<=F(i+1)
x(k)=i;
k=k+1;
break;
else
i=i+1
end
end
end
不是很懂,求大神帮忙注释一下。
答案:直接使用poissrnd就好了
poissrnd(7,100,1);第一个参数是分布参数,第二,三个参数是生成矩阵大小!
你也可以使用命令:poissinv(rand(100,1),7);
要明白这个的深入了解poisspdf,poisscdf,poissinv,poissrad,poissfit的含义!
上一个:matlab一行代码分行写用什么符号连接
下一个:求MATLAB大神!!! 看一下下面这个代码 怎么调试成功 加QQ 175442265 有酬谢!~