Excel多项式曲线拟合algorithm

Excel用来计算二阶多项式回归(曲线拟合)的algorithm是什么? 是否有示例代码或伪代码可用?

我发现了一个解决scheme,返回Excel提供的相同公式:

  1. 将最小二乘抛物线中使用的值的增广matrix组合在一起。 请参阅http://www.efunda.com/math/leastsquares/lstsqr2dcurve.cfm中的和方程式

  2. 使用高斯消元来解决matrix。 这里是C#代码,将这样做http://www.codeproject.com/Tips/388179/Linear-Equation-Solver-Gaussian-Elimination-Csharp

  3. 运行之后,matrix(M)中的剩余值将等于Excel中给出的系数。

也许我可以findR ^ 2,但我不需要它为我的目的。

图表中的多项式趋势线使用基于QR分解方法(如LINEST工作表函数( http://support.microsoft.com/kb/828533 ))的最小二乘法。 给定(x,y)数据的二阶或二次趋势可以使用=LINEST(y,x^{1,2})来计算。

您可以使用Worksheet.Evaluate方法从C#调用工作表公式。

这取决于,因为根据你提供的数据有很多方法可以做这样的事情,曲线通过这些点是多么重要。

我猜测你比多项式中的系数要多得多(例如对于二阶曲线,超过三个点)。

如果这是真的,那么你可以做的最好的是最小二乘拟合,它可以计算使所有点和结果曲线之间的均方误差最小的系数。

既然这是第二顺序,我的build议就是创build该死的二阶项并做一个线性回归。

防爆。 如果你正在做z〜second_order(x,y),它相当于z_first_order(x,y,x ^ 2,y ^ 2,xy)。