我写了一个简短的代码,以适应光学发射规格的光谱 . 因此,我将一个VoigtModel安装到Peak中,将LinearModel安装到背景中 . 喜欢这样:
mod=VoigtModel()
pars = mod.guess(y, x=x)
out = mod.fit(y, pars, x=x)`
和
mod=LinearModel()
pars = mod.guess(y, x=x)
func=mod.fit(y,pars,x=x)`
现在我想计算线性函数和voigt峰值函数之间的arear . 有谁知道这是怎么做到的吗 . 我的想法是重建功能并执行集成 . 但我不知道如何从fit_report()中提取变量(斜率,截距,伽玛,西格玛......)? thx BR数学
1 回答
我要求,但是这里有一些你可以从拟合结果
out
或func
中提取的东西(这是一个奇怪的名字来给出拟合结果,但是OK):ModelResult有:
params
:最佳拟合参数的有序字典 . 键是参数名称,值是lmfit.Parameter
对象,其属性为value
,_ 1181442,max
,_ 1181444,correl
等 .best_values
:一个简单的字典,参数名称为键,最佳值为值 .best_fit
:最合适的模型的ndarray .http://lmfit.github.io/lmfit-py/model.html#modelresult-attributes描述了结果的更多属性 .
所以,可能你想要的是:
这基本上是
fit_report
方法的作用 .