首页 文章

LMFIT - Extrackt变量形成Fitfunction

提问于
浏览
0

我写了一个简短的代码,以适应光学发射规格的光谱 . 因此,我将一个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 回答

  • 0

    我要求,但是这里有一些你可以从拟合结果 outfunc 中提取的东西(这是一个奇怪的名字来给出拟合结果,但是OK):

    ModelResult有:

    • params :最佳拟合参数的有序字典 . 键是参数名称,值是 lmfit.Parameter 对象,其属性为 value ,_ 1181442max ,_ 1181444correl 等 .

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

    • best_fit :最合适的模型的ndarray .

    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 方法的作用 .

相关问题