从数据点拟合双曲线

时间:2019-10-17 17:45:09

标签: python math function-approximation

我有涡轮增压器压力图的实验数据点(x1,x2,...,xn),(y1,y2,...,yn),想要得到趋势线方程。经过我的研究,结果类似于:

y = (ax^5 + bx^4 + cx^3 + dx^2 + ex + f)/(x+g)    # my equation

请告诉我,有没有现成的功能? 我尝试使用np.polyfit,但是它可以与通常的多项式一起使用,因此我必须以这种方式猜测“ g”:

# y*(x-g) = ax^5 + bx^4 + cx^3 + dx^2 + ex + f
pc  = np.polyfit(x, y*(x+g), 5)
y = (pc[0]*x**5 + pc[1]*x**4 + pc[2]*x**3 + pc[3]*x**2 + pc[4]*x + pc[5])/(x + g)

如果有人可以帮助获得我的等式的系数,那将是很好的。

1 个答案:

答案 0 :(得分:0)

尽管这将导致最小化略有不同,但您可以将方程线性化为

x y = ax^5 + bx^4 + cx^3 + dx^2 + ex + f - g y

并通过线性最小二乘法求解。