'numpy.ndarray'对象在python中不是可调用的错误

pyt*_*bie 2 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)
Run Code Online (Sandbox Code Playgroud)

Ang*_*ams 5

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

a[k+1:m-1,k]=a[k+1:m-1,k]/a(k,k)
Run Code Online (Sandbox Code Playgroud)

应该纠正

a[k+1:m-1,k]=a[k+1:m-1,k]/a[k,k]
Run Code Online (Sandbox Code Playgroud)

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