' numpy.ndarray' python

时间:2016-10-01 08:16:21

标签: python numpy callable

我正在将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)

1 个答案:

答案 0 :(得分:5)

发生错误是因为您在函数的第4行使用了错误的大括号。

a[k+1:m-1,k]=a[k+1:m-1,k]/a(k,k)

应该更正

a[k+1:m-1,k]=a[k+1:m-1,k]/a[k,k]

即。 ()大括号应替换为[]。发生错误是因为[]括号表示索引操作,而()括号表示函数调用。