【发布时间】:2021-12-31 09:29:35
【问题描述】:
我正在使用 SciPy.optimize.curve_fit https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html 为了获得曲线拟合函数的系数,SciPy 函数将模型函数作为其第一个参数 所以如果我想进行线性曲线拟合,我将以下函数传递给它:
def objective(x, a, b):
return a * x + b
如果我想要二次多项式曲线拟合,我通过以下:
def objective(x, a, b, c):
return a * x + b * x**2 + c
等等,我要实现的就是让这个模型函数泛型化 例如,如果用户想通过输入 5 来拟合 5 次多项式,则应更改为
def objective(x, a, b, c, d, e, f):
return (a * x) + (b * x**2) + (c * x**3) + (d * x**4) + (e * x**5) + f
代码运行时 这可能吗? 如果由于需要更改功能而无法使用 SciPy,还有其他方法可以实现我想要的吗?
【问题讨论】:
标签: python scipy curve-fitting