6

给定一组点,用抛物线拟合它们的最快方法是什么?它是在做最小二乘计算还是有迭代的方法?

谢谢

编辑:我认为梯度下降是要走的路。最小二乘计算会更费力(必须进行 qr 分解或其他操作以保持稳定)。

4

4 回答 4

8

如果这些点没有关联的错误,您可以插值三个点。否则,最小二乘法或任何等效公式都是可行的方法。

于 2010-10-28T01:41:10.123 回答
5

我最近需要找到一条通过 3 点的抛物线。

假设你有(x1,y1), (x2,y2) and (x3,y3)并且你想要抛物线

y-y0 = a*(x-x0)^2

通过它们:找到y0, x0, and a.

你可以做一些代数并得到这个解决方案(假设点不是都在一条线上):

let c = (y1-y2) / (y2-y3)
x0    = ( -x1^2 + x2^2 + c*( x2^2 - x3^2 ) )  /  (2.0*( -x1+x2 + c*x2 - c*x3 ))
a     = (y1-y2)  /  ( (x1-x0)^2 - (x2-x0)^2 )
y0    = y1 - a*(x1-x0)^2

请注意等式中的 cif y2==y3那么你就有问题了。所以在我的算法中,我检查这个并将 x1, y1 与 x2, y2 交换然后继续。

希望有帮助!

保罗·普罗伯特

于 2014-07-11T05:04:35.207 回答
2

计算的解决方案几乎总是比迭代解决方案快。“例外”是针对低迭代次数和复杂计算的。

我会使用最小二乘法。我只为线性回归拟合编写了每个代码,但它可以用于抛物线(我最近有理由查找它 - 来源包括旧版“数值食谱”出版社等;和“工程数学”克雷齐格)。

于 2010-10-28T01:40:35.757 回答
0

抛物线算法

  1. 读没有。数据点 n 和多项式 Mp 的阶数。
  2. 读取数据值。
  3. 如果 n< Mp [回归不可能] 停止否则继续;
  4. 设置 M=Mp + 1 ;
  5. 计算 C 矩阵的系数。
  6. 计算 B 矩阵 的系数。
  7. 求解系数 a1,a2,。. . . . . . 一个 。
  8. 写出系数 。
  9. 在自变量的 glren 处估计函数值。
于 2016-04-22T03:34:15.407 回答