【问题标题】:printing variable values using lmfit使用 lmfit 打印变量值
【发布时间】:2018-05-09 07:27:37
【问题描述】:

我正在尝试从 lmfit 最小化算法中打印变量值。我正在使用 lmfit.printfuncs.report_fit(res.params) 得到

[[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

【问题讨论】:

  • 你能贴出你的函数的代码吗?

标签: python optimization lmfit


【解决方案1】:

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)

您可以随意修改。

【讨论】:

  • 您的回答对我来说非常有效,非常感谢您对 lmfit 的支持。作为 lmfit 的活跃用户,它是一项伟大的工作。 :)
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    可以通过使用访问特定值

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

    例如:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-13
      • 2022-11-22
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多