Numpy.ndarray对象不可调用 [英] numpy.ndarray object is not callable

查看:0
本文介绍了Numpy.ndarray对象不可调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是新手,我正在尝试编写一个Python代码来计算状态密度以下是我为其获取TypeError的代码:‘numpy.ndarray’对象不是Callable Error。

文件"DOS.py",第35行,

 s = (eigenValues_of_M(k)**2)*(1/pi)*(eta/((E-eigenValues_of_M(k))+(eta**2)))

TypeError:‘numpy.ndarray’对象不可调用

    s=0
    eta =0.5
    for E in range (-6, 6):
        for i in range(1, L+1):
            for n in range (1, 3):
                s = (eigenValues_of_M(k)**2)*(1/pi)*(eta/((E-eigenValues_of_M(k))+(eta**2)))
    DOS = (1/L)*s
    print(DOS)

推荐答案

查看索引错误,代码中k的值不是整数。

请将k转换为整数,如下所示,然后尝试:

for E in range (-6, 6):
for i in range(1, L+1):
        for n in range (1, 3):
            s = (eigenValues_of_M[int(k)]**2)*(1/np.pi)*(eta/((E-eigenValues_of_M[int(k)])+(eta**2)))
DOS = (1/L)*s
print(DOS)

这篇关于Numpy.ndarray对象不可调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆