function possion(n,r)
%r为指数分布的参数,n为产生随机数个数
a=random('unif',0,1,n,1);
b=zeros(n,1);
for i=1:n;
b(i)=-log(a(i))/r;
end
s=zeros(n+1,1);
for i=2:n+1;
s(i)=s(i-1)+b(i-1);
end
t=0:0.0001:s(n+1)+0.0001;
p=length(t);
nt=zeros(1,p);
j=1;
for i=1:p;
if t(i)<s(j+1)&t(i)>s(j)
nt(i)=j-1;
end
if t(i)>=s(j+1);
nt(i)=j;
j=j+1;
end
end
save time t ;
save ntime nt ;
axis([0 t(p) 0 n+1]);
plot(t,nt)
grid
load time
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载