python(SimPy)生成跟随erlang分布的随机数

时间:2012-09-20 17:25:18

标签: python random distribution simpy

我正在使用Python(主要是SimPy包,但它与我认为的问题无关),建模一些系统和运行模拟。为此,我需要生成跟随分布的随机数。到目前为止,通过导入随机(例如来自随机导入*)和使用expovariate或normalvariate方法,我已经完成了一些像指数和正常的分布。但是,我无法找到任何随机产生遵循Erlang分布的数字的方法。所以:

  1. 我忽略了一些方法吗?
  2. 我是否必须导入其他一些库?
  3. 我可以解决一些问题吗? (我认为我可以使用Exponential发行版来产生随机的“Erlang”数字,但我不知道如何。一段代码可能对我有用。
  4. 提前谢谢!

2 个答案:

答案 0 :(得分:5)

Erlang分布是伽玛分布的一个特例,它以numpy.random.gamma(reference)的形式存在。只需对k(“shape”)参数使用整数值。有关PDF,CDF等功能的信息,请参阅scipy.stats.gamma。

答案 1 :(得分:2)

如前所述,erlang分布是伽马分布的特例。据我所知,你不需要numpy包。可以使用random.gammavariate(alpha, beta)在python中生成来自gamma分布的随机数。

用法:

import random
print random.gammavariate(3,1)