首页 > 解决方案 > Gamma 随机数、MATLAB 和 Python

问题描述

我在 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

谢谢您的帮助!

标签: pythonmatlabgamma

解决方案


您初始化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))

np.append可在此处找到文档。


推荐阅读