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 数组)
您好,我正在尝试创建一个洛伦兹函数,该函数采用名为“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 数组)