Python Scipy 优化 curve_fit
我有两个numpy数组,分别叫做x和y,我想给这些数据拟合一条曲线。这个拟合的函数是一个指数函数,里面有两个参数a和t,还有另一个numpy数组ex。
import numpy as np
import scipy
import scipy.optimize as op
k=1.38e-23
h=6.63e-34
c=3e8
def func(ex,a,t):
return a*np.exp(-h*c/(ex*1e-9*kb*t))
t0=300 #initial guess
print op.curve_fit(func,x,y,t0)
1 个回答
3
你最开始的猜测应该包含两个值,比如 t0=(300, 1.)
,因为你有两个需要调整的参数(a
和 t
)。
你需要先定义你想要拟合的点,也就是说在调用 curve_fit()
之前,要先定义好 x
和 y
的值。