【发布时间】:2012-05-02 06:55:59
【问题描述】:
我正在用 Python 编写一个程序,它将高斯和洛伦兹形状拟合到一些给定的共振数据。我最初开始使用scipy.optimize.leastsq,但在难以从协方差矩阵中检索优化参数中的错误后改为使用optimize.curve_fit。
我已经定义了一个函数来拟合高斯和洛伦兹的总和:
def mix(x,*p):
ng = numg
p1 = p[:3*ng]
p2 = p[3*ng:]
a = sumarray(gaussian(x,p1),lorentzian(x,p2))
return a
其中p 是拟合参数的初始猜测数组。这是使用curve_fit 调用它的实例:
leastsq,covar = opt.curve_fit(mix,energy,intensity,inputtot)
目前numg(高斯形状的数量)是一个全局变量。有什么方法可以将它作为额外的参数合并到curve_fit 中,就像leastsq 一样?
【问题讨论】: