gpt4 book ai didi

使用 scipy.optimize 的 python 拟合

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:29 26 4
gpt4 key购买 nike

我有以下数据集

angles =np.arange(-90,91,15)
n_col_cnts =([ 0.08692008,0.46557143,0.7282595,0.89681908,0.97057961,1.,0.99488705,0.91823478,0.84187586, 0.73110934,0.53363229,0.25338418,0.01328528])

我想使用 scipy 中的 optimize.leastsq() 对这些数据进行高斯分布拟合,但遇到了障碍。这是我从 here 尝试过的

fitfunc = lambda p, x: p[0]*math.exp(-((x-p[1])/p[2])**2) #Target function
errfunc = lambda p, x, y: fitfunc(p, x) - y # Distance to the target function
p0 = [1., 0., 30.] # Initial guess for the parameters
fit, success = optimize.leastsq(errfunc, p0[:], args=(angles,n_col_cnts))

但是我收到错误信息

类型错误:只有长度为 1 的数组可以转换为 Python 标量

我不明白。我做错了什么?

最佳答案

我认为 fitfunc 需要使用数组。将 math.exp 更改为 np.exp

关于使用 scipy.optimize 的 python 拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17944105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com