曲線擬合

维基百科,自由的百科全书
跳转至: 导航搜索

曲線擬合,俗稱拉曲線,是一種把現有數據透過數學方法來代入一條數式的表示方式。科学工程问题可以通过诸如采样实验等方法获得若干离散的数据,根据这些数据,我们往往希望得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合,这过程就叫做拟合 (fitting)

本條目講述如何透過拉曲線的方法來進行插值法運算及遞歸分析的基礎。

將點結成直線或多項式曲線[编辑]

首先看一看一個一次多項式例子

y = ax + b\;

笛卡兒平面上,這是一條直線,而這條直線的斜率a,(從比較斜率-交點式y = mx + b 中知道 a 等同於 m)。而我們知道任何兩點都有一條直線穿過,因此一次多項式可以串起任何兩個點。

如果多次式的次數增加為2

y = ax^2 + bx + c\;

這條多項式就串起任何3點。

如果多次式的次數再增加為3

y = ax^3 + bx^2 + cx + d\;

這條多項式就串起任何4點。

對於這條多項式,更正確的描述是這條多項式附合任何4個限制。限制可以是一點(x,y)、角度曲率(即半徑的反數 1/R)。角度和曲率的限制通常在曲線的終端,因此稱為終端條件 。為了樣條(spline) 的交接平滑,通常會用到全等的終端條件。 也可以增加如曲率变化等高阶约束。例如,在高速公路立体交叉点cloverleaf的设计中,可以用来理解当汽车绕着交叉点运动时作用在汽车上的力,并依此设定合理的限定时速。

一次多项式也可以拟合一个单点和一个角度,三次多项式则可以拟合两点,一个角度约束以及一个曲率约束。许多其它类型的约束组合也同样可以用低阶或者高阶多项式来拟合。

如果有超过n+1个约束(n是多项式的阶次),我们仍然可以使用多项式拟合。通常一个满足所有约束的精确拟合不一定能够得到(但是有可能得到,例如,用一次多项式拟合共线的三点三点共线)。通常,我们需要使用一些方法来评价拟合的好坏。最小平方法就是用来评价差别的一种常用的方法。

为什么不能通过提高多项式的次数来更好的拟合曲线呢?关于这点,有以下原因:

  • 即使存在精确的拟合,也不意味着必须得到这样的拟合。根据使用的算法不同,我们可能遇到分歧,要么精确的拟合无法得到,要么需要太多的计算机时去得到精确的拟合。不管哪种情况,最终都会以得到近似拟合而结束。
  • 我们往往宁愿得到一个近似的拟合,而不愿为了精确拟合数据而使拟合的曲线产生扭曲。
  • 高次多项式往往有高度波动的特性。如果我们通过两点"A"和“B”作一条曲线,我们希望这条曲线也能通过"A"和“B”的中点。但是对于高次多项式,情况就不是这样了,高次多项式曲线往往可能有很大或者很小的幅值。对于低次多项式,曲线将没有很大波动,而能通过中点(对于一次多项式,甚至能保证肯定通过中点)。

参考文献[编辑]

外部連結[编辑]