gpt4 book ai didi

python - 用附加函数拟合多项式

转载 作者:行者123 更新时间:2023-12-01 01:23:02 24 4
gpt4 key购买 nike

假设我有一个名为 Y 的数组另一个数组名为 X 。我知道如何使用 numpy.polyfit() 拟合多项式作为输出,我将得到一个带有系数的数组。但是如果我想添加一些功能f(x)怎么办?作为多项式的附加回归量,我如何在 python 中做到这一点?

例如Y = [1,2,3,4,5,6] , X = [101,102,103,104,105,106] 。我知道如何估计 y = a_0+a_1x+a_2x^2+a_3x^3 的系数(3阶多项式),我可以使用 z = numpy.polyfit(Y, X, 3) 来估计它。现在,我想估计y = a_0+a_1x+a_2x^2+a_3x^3 + a_4f(x)哪里f(x)是某种功能。我是 Python 新手,在 Google 上找不到答案

最佳答案

scipy.optimize.curve_fit 就是您正在寻找的。它可以采用任意函数,因此您可以在该函数中定义多项式项和额外函数项。

def f(x, a0, a1, a2, a3, a4):
func_term = np.exp(-abs(x)) # can be anything you need
return a0 + a1 * x + a2 * x**2 + a3 * x**3 + a4 * func_term

然后拟合曲线:

popt, _ = curve_fit(f, xdata, ydata)

关于python - 用附加函数拟合多项式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53620911/

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