【问题标题】:'numpy.ndarray' object is not callable error in pythonpython中的'numpy.ndarray'对象不是可调用错误
【发布时间】: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) 中使用了圆括号而不是方括号)。

标签: python numpy callable


【解决方案1】:

发生错误是因为您在函数的第 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]

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

【讨论】:

    猜你喜欢
    • 2021-12-23
    • 2021-02-23
    • 2019-09-04
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    相关资源
    最近更新 更多