我在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
感谢您的帮助!
答案 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
的文档。