2

私は Python (主に SimPy パッケージですが、私が考える質問とは関係ありません) を使用して、いくつかのシステムをモデル化し、シミュレーションを実行しています。この目的のために、分布に従う乱数を生成する必要があります。これまでのところ、指数関数や正規分布などのいくつかの分布で、ランダムをインポートし (たとえば、ランダム インポート * から)、expovariate または normalvariate メソッドを使用して問題なく実行できました。しかし、Erlang 分布に従う数値を生成するランダムな方法は見つかりません。そう:

  1. 私が見落とした方法はありますか?
  2. 他のライブラリをインポートする必要がありますか?
  3. 回避策を講じることはできますか?(指数分布を使用してランダムな「Erlang」数を生成できると考えていますが、その方法がわかりません。コードの一部が役立つかもしれません。

前もって感謝します!

4

2 に答える 2

5

アーラン分布は、ガンマ分布の特殊なケースであり、numpy.random.gamma(参照)として存在します。k( "shape")引数には整数値を使用するだけです。PDF、CDFなどの関数については、scipy.stats.gammaについても参照してください。

于 2012-09-20T17:35:33.767 に答える
3

前の回答が述べたように、アーラン分布はガンマ分布の特殊なケースです。ただし、私の知る限り、numpyパッケージは必要ありません。ガンマ分布からの乱数は、 を使用して python で生成できますrandom.gammavariate(alpha, beta)

使用法:

import random
print random.gammavariate(3,1)
于 2012-09-20T17:43:47.160 に答える