我必须在时间间隔 [0; T] 与 T = 2000 s 使得连续事件之间的等待时间呈指数分布,平均 u = 0.4 s。然后计算每秒的事件数。
我想我可以先将每个事件时间视为所有先前等待时间的总和。但是我不允许在我的脚本中使用循环。所以这有点棘手
最后将其全部拟合到 T 计数的泊松分布中,并从中制作直方图。
编辑:这是我到目前为止得到的:
C=colormap('lines');
fig=1;
fig=fig+1;
distr=makedist('Poisson')
my=0.4
distr.lambda=1/my;
disp(['Distribution mean,var,std,median,iqr= ',num2str([distr.mean,distr.var,distr.std,distr.median,distr.iqr],'%8.4f ')])
xupp=distr.icdf(0.999);
xupp=ceil(xupp/2)*2;
x=0:xupp;
figure(fig)
clf
% plot probability function
subplot(2,1,1)
bar(x,distr.pdf(x),0.1)
xlabel('$x$')
ylabel('$f(x)$')
title('Poisson distribution')
% generate random numbers
r=distr.random(500,1);
subplot(2,1,2)
box on
hold on
h=histogram(r,-0.5:xupp+0.5);
set(h,'Visible','off');
counts=h.Values;
hp(1)=bar(0:xupp,counts/sum(counts),0.1,'facecolor',C(1,:));
hp(2)=plot(x,distr.pdf(x),'p:','color',C(2,:));
distf=fitdist(r,'Poisson')
hp(3)=plot(x,distf.pdf(x),'p:','color',C(3,:))
xlabel('$x$')
ylabel('$f(x)$')
title('Data from Poisson distribution')
legend(hp,'Histogram','True distribution','Fitted with Poisson distr.')
这个对吗?