【问题标题】:'numpy.float64' object is not callable'numpy.float64' 对象不可调用
【发布时间】:2013-09-24 07:54:17
【问题描述】:

我收到了我帖子标题中的错误。我在其他问题中看到了这一点,但我有兴趣了解这意味着什么,因为其他答案是在不适用于我的特定上下文中。

其次,我想了解这如何应用于我的代码,如下所示。请注意,如果 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] ( ... )。您可能想在x[m, m]( 之间添加* 或其他运算符:否则,Python 会将其解释为调用对象x[m, m],并在括号内添加参数。
  • 现在觉得自己蠢超级蠢!谢谢。

标签: numpy


【解决方案1】:

这个:

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] 乘以括号中的术语吗?如果是这样,请添加*

【讨论】:

  • 是的,我太愚蠢了。我读到括号可用于在多行上运行的方程,但显然这只有在使用相同的语法时才有效。我忙于寻找我从未注意到的所有其他可能性......
猜你喜欢
  • 2020-10-03
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 2021-05-24
  • 2021-01-27
  • 1970-01-01
  • 2017-06-22
  • 2020-09-11
相关资源
最近更新 更多