Matlab中Poisson分布的随机数生成

时间:2014-08-21 09:56:23

标签: matlab poisson

我试图在Matlab中模拟车辆到达交叉口的到达过程。车辆随Poisson分布随机生成。

让我们说,在一个分数中,每小时有600辆车的交通流强度。根据我从理论上的理解,泊松分布的λ应为600/3600(1小时内3600秒)。

然后我运行这个循环:

for i = 1:3600
    vehicle(i) = poissrnd(600/3600);
end

有一个问题:当我计算数组vehicle中的“1”时,从不会有600个,它总是一些数字,如567,595等等。

问题是,我做错了,即lambda会不同吗?或者这是正常的,数字永远不会相等?

1 个答案:

答案 0 :(得分:3)

如果生成随机数,则可以预期输出。

如果你真的知道输出它就不再是随机的了。

因此你没有做错任何事。

你可以让你的代码更优雅。

考虑这种矢量化方法:

vehicle = poissrnd(600/3600,3600,1)

如果您始终希望数字相同(例如重现结果),请尝试设置随机生成器的状态。

如果您有现代版本(没有旧代码),您可以这样做:

rng(983722)