使用lmfit打印变量值

时间:2018-05-09 07:27:37

标签: python optimization lmfit

我正在尝试使用lmfit.printfuncs.report_fit(res.params)来获取来自lmfit最小化algorithm.am的变量值

[[Variables]]
    a:   123 (init= 123)
    b:   456 (init= 456)
    c:   789 (init= 789)
    d:   012 (init= 012)
[[Correlations]] (unreported correlations are <  0.100)

我可以只打印结果值,如

123
456
789
012

3 个答案:

答案 0 :(得分:0)

如果有人能够获得准确的输出,我可以使用print(result.values)获取变量值,请分享。

答案 1 :(得分:0)

result.params是Parameter对象的有序字典,每个参数对象都具有存储在value属性中的最佳值,以及其他几个属性。基本上,fit_report的确如下:

for param in result.params.values():
    print("%s:  %f +/- %f (init = %f)" % (param.name, param.value, param.stderr, param.init_value)

您可以按照自己喜欢的方式进行修改。

答案 2 :(得分:0)

使用可以访问特定值

result.params.get('variable_name').value

例如:

result.params.get('fwhm').value