【发布时间】:2016-10-01 08:16:20
【问题描述】:
我正在将 LU 分解 matlab 代码转换为 python。
但是当我这样做时,我遇到了这个错误
'numpy.ndarray' object is not callable
当我尝试测试我的代码时会发生此错误。这是我的代码,任何人都可以帮助解决这个问题吗?我在等你的帮助。
import numpy as np
def LU(a):
[m,m]=a.shape
for k in range(0,m-1,1):
a[k+1:m-1,k]=a[k+1:m-1,k]/a(k,k)
a[k+1:m-1,k+1:m-1]=a[k+1:m-1,k+1:m-1]-a[k+1:m-1,k]*a[k,k+1:m-1]
L=np.eye(m,m)+np.tril(a,-1)
U=np.triu(a)
return [L,U]
b=np.array([[1,0,0],[0,1,0],[0,0,1]])
LU(b)
【问题讨论】:
-
您应该始终在问题中包含完整的回溯,而不仅仅是最后一行。这样可以更轻松地查看代码中发生错误的位置(正如其他人所说,问题是您在
a(k,k)中使用了圆括号而不是方括号)。