LMFIT - 来自 Fitfunction 的 Extrackt 变量



我写了一个简短的代码来适应来自光学发射规范的光谱。 因此,我将VoigtModel安装到Peak中,将LinearModel安装到backgrund中。 像这样:

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峰值函数之间的面积。有谁知道该怎么做。 我的想法是重建功能并执行集成。但是我不知道如何从 fit_report((中提取变量(斜率、截距、伽马、西格玛,...(? 感谢 BR 数学

我不完全确定你要什么,但这里有一些你可以从拟合结果中提取的东西outfunc(这是一个奇怪的名称来给出拟合结果,但没关系(:

模型结果具有:

  • params:最佳拟合参数的有序字典。 键是参数名称,值是具有valuestderrmaxmincorrel等属性的lmfit.Parameter对象。

  • best_values :一个简单的字典,参数名称作为键,最佳拟合值作为值。

  • best_fit:最佳拟合模型的数组。

有关结果的更多属性,请参阅 http://lmfit.github.io/lmfit-py/model.html#modelresult-attributes

所以,可能你想要的是这样的:

for parname, param in out.params.items():
    print("%s = %f +/- %f " % (parname, param.value, param.stderr))

这基本上就是fit_report方法的作用。

最新更新