【发布时间】:2020-04-13 06:28:23
【问题描述】:
我正在尝试使用 lmfit 拟合 3 个峰值,并使用倾斜的 Voigt 配置文件(这对我的问题来说并不重要)。我想对表单的峰中心设置一个约束:
peak1 = SkewedVoigtModel(prefix='sv1_')
pars.update(peak1.make_params())
pars['sv1_center'].set(x)
peak2 = SkewedVoigtModel(prefix='sv2_')
pars.update(peak2.make_params())
pars['sv2_center'].set(1000+x)
peak3 = SkewedVoigtModel(prefix='sv3_')
pars.update(peak3.make_params())
pars['sv3_center'].set(2000+x)
基本上我希望它们彼此相距 1000,但我需要适应实际的班次 x。我知道我可以使用pars['sv2_center'].set(expr='sv1_center') 强制某些参数相等,但我需要的是pars['sv2_center'].set(expr='sv1_center'+1000)(它不能像那样工作)。我怎样才能达到我所需要的?谢谢!
【问题讨论】: