';numpy.float64';对象不可调用

';numpy.float64';对象不可调用,numpy,Numpy,我得到的错误在我的文章标题中。我在其他问题中也看到了这一点,但我有兴趣理解这意味着什么,因为其他答案都是在一个不适用于我的特定背景下给出的 其次,我想了解这是如何应用于我的代码的,如下所示。请注意,如果Zindx=0,这一切正常,但不适用于任何其他情况 Zindx = list(E).index(0) for m in range(0,N): if m != Zindx: for n in range(0,N):

我得到的错误在我的文章标题中。我在其他问题中也看到了这一点,但我有兴趣理解这意味着什么,因为其他答案都是在一个不适用于我的特定背景下给出的

其次,我想了解这是如何应用于我的代码的,如下所示。请注意,如果Zindx=0,这一切正常,但不适用于任何其他情况

    Zindx = list(E).index(0)
    for m in range(0,N):
            if m != Zindx:
                for n in range(0,N):
                    if n != Zindx:
                        if n != m:
                            x[m,m] = x[m,m] (
                            - (E[n]-E[m] + E[n])*x[m,n]*x[n,Zindx]
                            /x[m,Zindx]/E[m]
                            )
这:

正在尝试将
x[m,m]
作为函数调用,并将括号内的表达式作为参数。我猜
x[m,m]
返回一个
float

你的意思是用括号中的词乘以
x[m,m]
?如果是这样,请添加
*

您的问题是您在哪里执行
x[m,m]=x[m,m](…)
。您可能希望在
x[m,m]
)之间粘贴一个
*
,或其他操作符:否则,Python将其解释为调用对象
x[m,m]
括号内有参数。现在我觉得自己愚蠢极了!Thamks。是的,我真是太愚蠢了。我读到括号可以用来表示在多行上运行的方程,但很明显,只有当它们使用相同的语法时,这才行得通。我忙于寻找我从未注意到的所有其他可能性。。.
x[m,m] (
    - (E[n]-E[m] + E[n])*x[m,n]*x[n,Zindx]
    /x[m,Zindx]/E[m]
    )