Excel多项式曲线拟合算法

时间:2012-07-26 15:08:45

标签: algorithm excel interpolation curve-fitting

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

4 个答案:

答案 0 :(得分:5)

我找到了一个返回与Excel相同的公式的解决方案:

  1. 将最小二乘抛物线中使用的增值矩阵汇总在一起。请参阅http://www.efunda.com/math/leastsquares/lstsqr2dcurve.cfm

  2. 中的和方程式
  3. 使用高斯消元法求解矩阵。这是C#代码,它将执行http://www.codeproject.com/Tips/388179/Linear-Equation-Solver-Gaussian-Elimination-Csharp

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

  5. 也许我能以某种方式找到R ^ 2,但我不需要它用于我的目的。

答案 1 :(得分:3)

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

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

答案 2 :(得分:0)

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

我猜你在多项式中的系数多于你的系数(例如,对于二阶曲线,你有多于三个点)。

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

答案 3 :(得分:0)

由于这是二阶,我的建议只是创建该死的二阶项并进行线性回归。

实施例。如果你正在做z~second_order(x,y),它相当于做z~first_order(x,y,x ^ 2,y ^ 2,xy)。

相关问题