我正在编写一个多项式最佳拟合求解器,作为一个有趣的学期休息项目。
给定输入:多项式的次数(即 2)和他们想要使用的一组点
167, 563
264, 429
410, 562
使用最小二乘逼近法,在求解矩阵时,您会得到系统的以下系数:
x^0 = 1270.1336927645
x^1 = -5.9573736115
x^2 = 0.0103176055
方程为
y= (0.01031760552017095)x^2 + (-5.95737361147607913)x^1 + (1270.13369276445428113)x^0
现在,我想在以后使用这个等式。
但是,我可以用 n 个度数写出这些方程吗?
目前,coefs 存储在一个
double A[];
所以如果我有一个 4 度的多项式,我知道等式将是
y = A[4]x^4 + A[3]x^3 + A[2]x^2 + A[1]x^1 + A[0]x^0
** 或者 **
y = A[4]*x*x*x*x + A[3]*x*x*x + A[2]*x*x + A[1]*x + A[0]
如果我有一个 5 度的多项式,我的方程将是
y = A[5]x^5 + A[4]x^4 + A[3]x^3 + A[2]x^2 + A[1]x^1 + A[0]x^0
或者
y = A[5]*x*x*x*x*x + A[4]*x*x*x*x + A[3]*x*x*x + A[2]*x*x + A[1]*x + A[0]
有什么方法可以根据多项式的次数来制定方程。我不想硬编码每个 coef 的学位。基于给定的输入输出。
谢谢