伽玛随机数,MATLAB和Python

时间:2018-08-17 21:50:22

标签: python matlab gamma

我在MATLAB程序中有以下代码行:

x(:,i) = gamrnd(a(i),1,dim,1)

我想知道如何用Python编写同一行。我认为等效的声明是:

gamma.rvs(a, size=1000) 

但是,这一直给我一个索引错误。

这是我这部分的完整代码:

x = np.array([])
for i in range(N-1):
    # generates dim random variables
    x[:, i] = gamma.rvs(a[i], dim-1)    # generates dim random variables
                                            # with gamma distribution

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您初始化了x = np.array([]),然后尝试访问不存在的x[:, 0],因此访问了Index Error。您将改为附加:

x = np.array([])
for i in range(N-1):
    np.append(x, gamma.rvs(a[i], dim - 1))

here上有np.append的文档。