np.arange 对象不可调用

np.arange object is not callable

您好,我正在尝试创建一个洛伦兹函数,该函数采用名为“freq”的数组输入,配置文件的中心为“freq0”,函数的偏差为“gamma”,(比例参数半宽度最大值的一半)。

我创建了如下函数

def LorentzProfileFreq(freq, freq0, gamma):
    '''
Return a Lorentz profile on a given frequency grid

Parameters
----------
    freq:  array_like
           Frequency grid
    freq0: float
           Center of the profile
    gamma: float
           Scale parameter gamma (hald-width at half-maximum)

Returns
-------
    LorentzProfileFreq: ndarray
                        Lorentz profile
    '''

    Lorentz=1/np.pi*((gamma/2)/((freq-freq0)**2+(gamma/2)**2))
    return Lorentz(freq,freq0,gamma)

并测试我所做的功能:

def test_LorentzProfileFreq():
    x=np.arange(-5,5,0.1)
    y=LorentzProfileFreq(np.arange(-5,5,0.1),0,1)
    plt.plot(x,y)
    plt.show()

这给了我错误 TypeError: 'numpy.ndarray' object is not callable' 我不明白为什么 np.arange 不可调用?

return Lorentz

Lorentz 不是函数。这就是 numpy 抱怨的原因。 (Lorentz 是一个 numpy 数组)