曲线洛伦兹拟合峰

Posted

技术标签:

【中文标题】曲线洛伦兹拟合峰【英文标题】:Curved lorentzian fit for the peak 【发布时间】:2022-01-22 21:04:38 【问题描述】:

我正在对我的数据进行洛伦兹拟合,我发现峰值处的拟合不是很平滑。这是因为在峰值处缺少点。

有没有办法在峰值处获得漂亮的曲线?我需要在 lmfit 中调整哪些参数?

import pandas as pd
import matplotlib.pyplot as plt

from lmfit.models import LorentzianModel

freq = [2250, 2350, 2450, 2500, 2550, 2600, 2650, 2700, 2750, 2800, 2850, 2950, 3050]

voltage = [0.00168011, 0.00200981, 0.0026012, 0.00316791, 0.00461706, 0.00782037, 0.00701009, 
           0.00372111, 0.00235486, 0.00165404, 0.00130805, 0.000879696, 0.000650067]

model = LorentzianModel()
params = model.guess(voltage, x=freq)

result = model.fit(voltage, params, x=freq)

result.plot_fit()

plt.show()

【问题讨论】:

这不是合适的,这是你采样的方式 【参考方案1】:

您可以按照文档中的说明使用Model.eval 评估具有更多x 轴点的模型。

【讨论】:

我想说一行代码说明这是如何完成的,不会有什么坏处......不要让它成为一个仅链接的答案。

以上是关于曲线洛伦兹拟合峰的主要内容,如果未能解决你的问题,请参考以下文章

LORENTZFIT 将单参数或多参数洛伦兹函数拟合到数据Matlab

LORENTZFIT 将单参数或多参数洛伦兹函数拟合到数据Matlab

图形化界面-光谱处理系统1

Python拖放,获取文件名[关闭]

高斯曲线拟合

如何使用 LMfit 将曲线拟合到双高斯/偏斜高斯