python - lmfit:遵循高斯分布的参数必须是整数
问题描述
我试图拟合两个高斯峰,其参数是浮点数据。但是出现以下错误。lmfit中的高斯参数必须是整数数据吗?
文件“E:\ANACONDA\lib\site-packages\lmfit-1.0.1-py3.7.egg\lmfit\lineshapes.py”,第 31 行,高斯 * exp(-(1.0 x-center)**2 / max(tiny, (2 sigma**2))))
TypeError: can't multiply sequence by non-int of type 'float'
这是代码:
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)
解决方案
lmfit 中的所有参数值都是浮点值('float')。数据也应该在'float'类型的numpy数组中。我猜你的x
ory
数据不在 numpy 数组中。
但这是一种猜测:没有完整的示例,几乎不可能说出可能出了什么问题。
推荐阅读
- xcode - Mac OS App Store 应用程序的 altool 上传应用程序的预期文件格式?
- reactjs - 使用 `yarn start` 命令获取 create-react-app 以监视 src 之外的文件夹
- ios - 如何将阴影添加到 UICollectionView 中附加到主视图的 UIView 渐变
- python - NetworkX 中节点的简单着色
- tabulator - Tabulator.prototype.findTable() 返回一个长度 == 1 的数组
- javascript - 每次重新加载页面时都运行脚本
- reactjs - SWR vs Isomorphic-unfetch 用于数据获取 Next.Js?
- r - 基于用户 url 输入的 R 闪亮应用程序中的 Read_html
- python - 将python脚本的参数作为参数传递给它的函数
- python - 检查输入时出错:预期 embedding_1_input 的形状为 (50,) 但数组的形状为 (1,)