您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python(scipy)曲线拟合的结果奇怪

python(scipy)曲线拟合的结果奇怪

如果将值更改xlist为numpy数组,它将起作用:

In [38]: popt, pcov = curve_fit(func, array(xlist, dtype=float), ylist)

In [39]: popt
Out[39]: array([  7.83722896e-03,  -3.94023294e-05])

乍一看,这似乎是一个错误,但实际情况是底层代码接受了参数xdata并将其原样传递给函数。在您的示例中,这意味着在表达式中a + b*xx一个python列表。 这意味着b*x没有进行所需的计算。

因此,要使您的func工作定义正确,该参数xdata必须是一个numpy数组。或者,您可以这样定义func:

def func(x, a, b):
    return a + b*np.asarray(x)
python 2022/1/1 18:38:48 有465人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶