在數值分析這個數學分支中,樣條插值是使用一種名為樣條的特殊分段多項式進行插值的形式。由於樣條插值可以使用低階多項式樣條實現較小的插值誤差,這樣就避免了使用高階多項式所出現的龍格現象,所以樣條插值得到了流行。
樣條插值
使用多項式插值,對給定數據集進行插值的n階多項式就被給定數據點所唯一地定義出來。但是,對同樣的數據進行插值的n階樣條並不是唯一的,為了構建一個唯一的樣條插值式它還必須滿足另外n-1個自由度。
線性樣條插值
線性樣條插值是最簡單的樣條插值。數據點使用直線進行連接,結果樣條是一個多邊形。
從代數的角度來看,每個Si 都是一個如下
-
的線性函數。
樣條在每個數據點都必須連續,即
-
我們很容易得到
-
-
所以以上論述成立。
二次樣條插值
二次樣條插值可以構建為
-
通過選擇 ,然後用遞推關係就可以得到係數:
-
三次樣條插值
對於 給定點的數據集 ,我們可以用 段三次多項式在數據點之間構建一個三次樣條。如果
-
表示對函數 進行插值的樣條函數,那麼需要:
- 插值特性,
- 樣條相互連接,
- 兩次連續可導, 以及 .
由於每個三次多項式需要四個條件才能確定曲線形狀,所以對於組成 的 個三次多項式來說,這就意味着需要 個條件才能確定這些多項式。但是,插值特性只給出了 個條件,內部數據點給出 個條件,總計是 個條件。我們還需要另外兩個條件,根據不同的因素我們可以使用不同的條件。
其中一項選擇條件可以得到給定 與 的鉗位三次樣條,
-
-
另外,我們可以設
- .
這樣就得到自然三次樣條。自然三次樣條幾乎等同於樣條設備生成的曲線。
在這些所有的二次連續可導函數中,鉗位與自然三次樣條可以得到相對於待插值函數f的最小震盪。
如果選擇另外一些條件,
-
-
-
可以得到周期性的三次樣條。
如果選擇,
-
-
-
可以得到complete三次樣條。
三次樣條的最小性
三次樣條有另外一個非常重要的解釋,實際上它是在索伯列夫空間 最小化泛函
-
的函數。
泛函 包含對於函數 全部曲率 的近似,樣條是 最小曲率的近似。
由於彈性條的總體能量與曲率成比例,所以樣條是受到 個點約束的彈性條的最小能量形狀。樣條也是基於彈性條設計的工具。
使用自然三次樣條的插值
它可以定義為
-
以及
- .
通過解下面的方程可以得到它的係數。
-
示例
線性樣條插值
假設要為帶有節點
-
-
-
-
-
的函數
-
找一個線性樣條。直接代入樣條公式,我們得到如下樣條:
-
樣條函數(藍線)以及所近似的函數(紅點)如下圖所示:
-
二次樣條插值
下圖是一個k=4的樣條函數(藍線)與所近似的函數(紅線)的例子:
-
參見