向curve_fit添加边界:位置参数错误

时间:2016-11-04 00:29:41

标签: python scipy curve-fitting

尝试使用scipy curve_fit对函数执行曲线拟合:

param_bounds=((-np.inf,-np.inf,0),(np.inf,np.inf,1))
OneCyParams, extras = curve_fit(func,xdata,ydata,bounds=param_bounds)

结果错误:

    453     if weights is None:
    454         def func_wrapped(params):
--> 455             return func(xdata, *params) - ydata
    456     else:


    457         def func_wrapped(params):

TypeError: OneCycle() takes 2 positional arguments but 4 were given

OneCycle是我适合的功能。

如果删除bounds参数,则此错误消失。我做错了什么?

1 个答案:

答案 0 :(得分:1)

此错误是因为相关的func只有一个参数。

适当调整param_bounds后,问题就解决了。