Numpy.ndarray对象不可调用 [英] numpy.ndarray object is not callable
本文介绍了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屋!
查看全文