【发布时间】:2020-11-12 10:09:16
【问题描述】:
我试图拟合两个高斯峰,其参数是浮点数据。 但是出现了以下错误。lmfit中的高斯参数必须是整数数据吗?
文件“E:\ANACONDA\lib\site-packages\lmfit-1.0.1-py3.7.egg\lmfit\lineshapes.py”,第 31 行,高斯 * exp(-(1.0x-center)**2 / max(tiny, (2sigma**2))))
TypeError:不能将序列乘以“浮点”类型的非整数
这是代码:
exp_mod = ExponentialModel(prefix='exp_')
pars = exp_mod.guess(y, x=x)
gauss1 = GaussianModel(prefix='g1_')
pars.update(gauss1.make_params())
pars['g1_center'].set(value=param_1[1], min=param_1[1]-0.2, max=param_1[1]+0.2)
pars['g1_sigma'].set(value=param_1[2], min=0.1)
pars['g1_amplitude'].set(value=param_1[0], min=0)
【问题讨论】:
-
错误很明显。在第 31 行,您尝试将两个不同类型的变量相乘。
-
第 31 行是 lmfit 库定义的函数,我可以做任何更改吗?而且我找不到这个错误。
-
编辑按钮是here。并将错误消息以文本形式插入,not as an image。