numpy.ndarray对象不可调用

时间:2018-07-10 10:35:17

标签: python-3.x numpy numpy-ndarray

我是Python的新手,我正在尝试编写Python代码以计算状态密度这是我收到TypeError的代码:'numpy.ndarray'对象不是可调用错误。

中的文件“ 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)

1 个答案:

答案 0 :(得分:0)

看着IndexError,代码中的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)