1. 程式人生 > >【科學計算】插值理論

【科學計算】插值理論

# 插值理論及其應用 > 插值(interpolation)是一種典型的化繁為簡的方法,利用既定函式$f(x)$在某個區間內若干點(插值節點,往往還是等距點)的函式值,作出適當的較簡單的特定函式$\varphi(x)$,在這些點上取已知值,在其他點上用特定函式$\varphi(x)$的值作為函式$f(x)$的近似值。往往特定函式$\varphi(x)$會取為最簡單的多項式,稱之為插值多項式。 > > 插值主要應用於既定函式$f(x)$難以計算的時候,使用特定函式$\varphi(x)$將大大簡化計算量,同時由於特定函式與目標函式在一定點上是相交的,所以誤差可能不會太大。 > > 常用的插值法有:多項式插值(又可細分為Lagrange插值和Newton插值)、Hermite插值、分段插值和樣條插值。本文將對以上的插值法進行介紹。 [TOC] ## 一、多項式插值 多項式插值,指的是在給定函式$f(x)$在$n+1$個互不相同的點$a=x_0 現在我們用Lagrange插值法求函式$f(x)=x^4$的插值多項式: > $$ > \begin{array}{|c|c|c|c|} > \hline > x & -1 & 0 & 1 & 2 \\ > \hline > f(x) & 1 & 0 & 1 & 16 \\ > \hline > \end{array} > $$ > 插值多項式應當是三次的,且 > $$ > l_0(x)=\frac{(x-0)(x-1)(x-2)}{(-1-0)(-1-1)(-1-2)}=-\frac{x(x-1)(x-2)}{6}, \\ > l_1(x)=\frac{(x-(-1))(x-1)(x-2)}{(0-(-1))(0-1)(0-2)}=\frac{(x+1)(x-1)(x-2)}{2}, \\ > l_2(x)=\frac{(x-(-1))(x-0)(x-2)}{(1-(-1))(1-0)(1-2)}=-\frac{(x+1)x(x-2)}{2}, \\ > l_3(x)=\frac{(x-(-1))(x-0)(x-1)}{(2-(-1))(2-0)(2-1)}=\frac{(x+1)x(x-1)}{6}, > $$ > 於是 > $$ > L_3(x)=1l_0(x)+0l_1(x)+1l_2(x)+16l_3(x)=2x^3+x^2-2x. > $$ > 此多項式的求解可以使用[多項式計算器](https://zs.symbolab.com/solver/step-by-step/)。 ### Newton插值法 要使用Newton插值法,就必須介紹一個重要概念:差商(difference quotient)。定義$f[x_0,x_1,\cdots,x_k]$為$f(x)$關於節點$x_0,\cdots,x_k$的$k$階差商,遞迴定義為 $$ f[x_i]=f(x_i), \\ f[x_i,x_j]=\frac{f[x_j]-f[x_i]}{x_j-x_i}, \\ f[x_i,x_j,x_l]=\frac{f[x_j,x_l]-f[x_i,x_j]}{x_l-x_i},\\ \vdots \\ f[x_0,x_1,\cdots,x_k]=\frac{f[x_1,\cdots,x_k]-f[x_0,\cdots,x_{k-1}]}{x_k-x_0}. $$ 可以觀察到,每一個差商都是一個分式,其中分母是首尾兩個節點的差,分子是除去第一個節點的差商和除去最後一個節點的差商的差。差商具有兩個重要性質,一是對稱性,即$f[x_0,\cdots,x_k]$的值與其中節點的排列順序無關;二是以下事實: $$ \begin{aligned} &\quad f[x_0,x_1,\cdots,x_k]\\ &= \sum_{i=0}^k\frac{f(x_i)}{(x_i-x_0)\cdots(x_i-x_{i-1})(x_i-x_{i+1})(x_i-x_k)}\\ &= \sum_{i=0}^k\left(f(x_k)\cdot\prod_{j\ne i,0\le j\le k}\frac{1}{x_i-x_j} \right). \end{aligned} $$ 這個事實可由數學歸納法證明,這裡略去證明的細節,直接給出利用Newton法求插值多項式的推論:若插值節點為$x_0 現在我們用Newton插值法求函式$f(x)=x^4$的插值多項式: > $$ > \begin{array}{|c|c|c|c|} > \hline > x & -1 & 0 & 1 & 2 \\ > \hline > f(x) & 1 & 0 & 1 & 16 \\ > \hline > \end{array} > $$ > 構造差商表如下: > $$ > \begin{array}{|c|} > \hline > k & f(x_k) & \partial^1 & \partial^2 & \partial^3\\ > \hline > -1& \underline{1} \\ > \hline > & & \underline{-1} > \\ \hline > 0& 0&& \underline{1} \\ > \hline > & & 1 && \underline{2} > \\ \hline > 1& 1&& 7 &\\ > \hline > & & 15 && > \\ \hline > 2& 16 && \\ > \hline > \end{array} > $$ > 因此Newton插值多項式為 > $$ > \begin{aligned} > N_3(x)&=1 \\ > &+(-1)(x-(-1)) \\ > &+1(x-(-1))(x-0) \\ > &+2(x-(-1))(x-0)(x-1) \\ > &=2x^3+x^2-2x > \end{aligned} > $$ ### 誤差分析 需要注意的是,由於Lagrange插值法和Newton插值法得到的都是$n$次多項式,結合我們在第一部分論證的存在唯一性,它們得到的結果一定是一致的。 我們需要用插值函式作為被插函式的估計,所以誤差分析很有必要,如果誤差較大,那麼插值函式就不適合作為估計。 記$R(x)=f(x)-p_n(x)$為用插值函式估計被插函式的截斷誤差,定理表明,取任一包含所有插值節點的閉區間$[a,b]$(常常就是$[x_0,x_n]$),,如果$f(x)\in C^{n+1}[a,b]$(即$f^{(n+1)}(x)$在$[a,b]$上連續),則$\forall x\in [a,b]$,$\exists \xi \in (a,b)$,使得 $$ R(x)=f(x)-p_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\omega_n(x). $$ 這個截斷誤差和Taylor展開的Lagrange餘項很像,其中的$\xi$都是與$x$相關的、一般不可能求得的數。 > 對任意固定的$x\in [a,b]\setminus\{x_0,\cdots,x_n\}$(這時候$x$就視為常數),考慮輔助函式 > $$ > \phi(t)=R(t)-\frac{R(x)}{\omega_n(x)}\omega(t), > $$ > 由於$f(t)$、$p_n(t)$和$\omega_n(t)$在$t\in \{x_0,\cdots,x_n\}$時都為$0$,且特別當$t=x$時,$\phi(x)=0$,所以$\phi(t)$在$[a,b]$上至少具有$n+2$個零點:$x,x_0,\cdots,x_n$。 > > 利用Rolle定理,$\phi'(t)$在$(a,b)$上至少具有$n+1$個零點,$\phi''(t)$在$(a,b)$上至少具有$n+2$個零點,以此類推得到$\phi^{(n+1)}(t)$在$(a,b)$上至少具有一個零點,記作$\xi$,也就是 > $$ > \phi^{(n+1)}(\xi)=R^{(n+1)}(\xi)-\frac{R(x)}{\omega_n(x)}\omega_n^{(n+1)}(\xi)=0, > $$ > 由於$R^{(n+1)}(t)=f^{(n+1)}(t)-p_n^{(n+1)}(t)$,且$p_n(t)$是不超過$n$次的多項式,故$n+1$階導數為$0$;$\omega_n(t)$是最高次係數為$1$的多項式,所以$\omega_n^{(n+1)}(t)=(n+1)!$,於是 > $$ > f^{(n+1)}(\xi)-\frac{R(x)}{\omega_n(x)}(n+1)!, > $$ > 從中解得 > $$ > R(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\omega_n(x). > $$ 如果$f^{(n+1)}(x)$在$[a,b]$上有界,即$|f^{(n+1)}(\xi)|\le M$恆成立,那麼截斷誤差也有上界為 $$ |R(x)|\le \frac{M}{(n+1)!}\omega_n(x). $$ 作為誤差估計的應用,我們舉出以下例子來看看如何使用誤差估計來求插值多項式。依然以$f(x)=x^4$為例,求其在$-1,0,1,2$處的插值多項式$p_3(x)$,我們有 $$ f(x)-p_3(x)=\frac{f^{(4)}(\xi)}{4!}(x-(-1))(x-0)(x-1)(x-2). $$ 但特別的是,此時$f^{(4)}(x)=4!$是一個常數,因此不管$\xi$取$[-1,2]$中的哪一個值,都有 $$ f(x)-p_3(x)=(x+1)x(x-1)(x-2)=x^4-2x^3-x^2+2x, $$ 這就說明$p_3(x)=2x^3+x^2-2x$,與Lagrange法和Newton法計算出來的一致,並且大大簡化了計算。不過,這是一個特殊的例子,因為恰好有$f^{(n+1)}(x)=C$,倘若$f(x)$是更高次的多項式或者甚至不是多項式,則由於$\xi$的未知性,無法用這種方式得出插值多項式。 ## 二、分段插值 分段插值指的是在插值節點分成的每一個小區間內使用某種方法插值,將所有插值函式拼接在一起形成插值函式。 ### Runge現象與Faber定理 在統計中,許多情況下都是樣本容量$n$越大,對未知的估計就越準確,因此我們自然會想,在一個區間上,是否插值節點越多,插值多項式就會越來越逼近被插函式。但事實並非如此,Runge現象給出了一個反例:對於函式 $$ f(x)=\frac{1}{1+25x^2},\quad -1\le x\le 1. $$ 在$[-1,1]$上取等距節點,節點個數為$n+1$,當$n\to \infty$時,$\varphi_n(x)$依然不會收斂於$f(x)$,而只是在某一區間上收斂。這也說明了即使節點不斷加密,插值多項式次數不斷升高,高次插值多項式也不一定收斂到相應的被插函式。 更一般地有如下的Faber定理:對$[a,b]$上任給的三角矩陣 $$ \begin{matrix} x_0^{(0)} \\ x_0^{(1)} & x_1^{(1)} \\ x_0^{(2)} & x_{1}^{(2)} & x_2^{(2)} \\ \cdots \\ x_0^{(n)} & x_1^{(n)} & x_2^{(n)} & \cdots & x_n^{(n)} \end{matrix} $$ 總存在$f(x)\in C[a,b]$,使得由三角形矩陣中的任一行元素為插值節點所生成的插值多項式$\varphi_n(x)$,當$n\to \infty$時不能一致收斂到$f(x)$。 因此,需要對原有的多項式插值作出修改,以便插值函式能更好地應用在實際中,分段插值就是一種解決Runge現象的方法。 ### 分段線性插值 分段線性插值是最簡單的分段插值,設有如下的$n+1$個插值節點:$x_0
利用基函式求過$0,1$兩點的三次Hermite插值多項式,要求 > $$ > f(0)=1,\quad f'(0)=\frac{1}{2},\\ > f(1)=2,\quad f'(1)=\frac{1}{2}. > $$ > 套用以上形式,容易算出基函式為 > $$ > h_0(x)=(1+2x)(x-1)^2,\\ > h_1(x)=(3-2x)x^2,\\ > H_0(x)=(x-1)^2x,\\ > H_1(x)=x^2(x-1), > $$ > 因此三次Hermite插值多項式為 > $$ > \varphi(x)=1h_0(x)+2h_1(x)+\frac{1}{2}H_0(x)+\frac{1}{2}H_1(x)=-x^3+\frac{3}{2}x^2+\frac{1}{2}x+1. >
$$ 基函式的思想雖然直白,但運算量上還是不小,而利用Newton法的核心——差商,則顯得巧妙很多。在此,我們要先注意到一階差商的形式為 $$ f[x_0,x_1]=\frac{f(x_1)-f(x_0)}{x_1-x_0}, $$ 而導數恰好就是差商的極限,也就是說,當$x_1\to x_0$時,就有 $$ f'(x_0)=\lim_{x_1\to x_0}\frac{f(x_1)-f(x_0)}{x_1-x_0}=\lim_{x_1\to x_0}f[x_1,x_0]. $$ 運用這個關係,我們可以在端點處,構造兩個極限節點,即$x_0'\to x_0$,$x_1'\to x_1$,這樣,二階差商的值就通過導數給出,從而我們有 $$ \begin{aligned} \varphi(x)&= f(x_0)\\ &+ f[x_0,x_0'](x-x_0)\\ &+f[x_0,x_0',x_1](x-x_0)(x-x_0')\\ &+ f[x_0,x_0',x_0,x_1](x-x_0)(x-x_0')(x-x_1)\\ &=f(x_0)+f'(x_0)(x-x_0)+\frac{f[x_0,x_1]-f'(x_0)}{x_1-x_0}(x-x_0)^2 \\ &+\frac{f'(x_0)+f'(x_1)-2f[x_0,x_1]}{(x_1-x_0)^2}(x-x_0)^2(x-x_1). \end{aligned} $$ 儘管看起來這個式子很繁瑣,但實際應用起來是很簡便的。 >
使用差商求過$0,1$兩點的三次Hermite插值多項式,依然要求 > $$ > f(0)=1,\quad f'(0)=\frac{1}{2},\\ > f(1)=2,\quad f'(1)=\frac{1}{2}. > $$ > 先構造差商表為 > $$ > \begin{array}{|c|} > \hline > k & f(x_k) & \partial^1 & \partial^2 & \partial^3\\ > \hline > 0 & \underline{1} \\ > \hline > & & \underline{\frac{1}{2}} > \\ \hline > 0^+ & 1 && \underline{\frac{1}{2}} \\ > \hline > & & 1 && \underline{-1} > \\ \hline > 1 & 2 && -\frac{1}{2} &\\ > \hline > & & \frac{1}{2} && > \\ \hline > 1^+ & 2 && \\ > \hline > \end{array} > $$ > 於是Hermite插值多項式為 > $$ > \begin{aligned} > \varphi(x)&= 1 \\ > &+ \frac{1}{2}(x-0) \\ > &+ \frac{1}{2}(x-0)^2 \\ > &+ (-1)(x-0)^2(x-1)\\ > &= -x^3+\frac{3}{2}x^2+\frac{1}{2}x+1. > \end{aligned} > $$ > 在計算過程上,Newton法求Hermite插值多項式要更快捷。 ### Hermite插值 兩點三次Hermite插值是Hermite插值的特殊情況,它只在兩個點處給出了被插函式的值和導數,實際上Hermite插值可以推廣到$n+1$個節點$x_0,\cdots,x_n$上,此時需給定這些節點的函式值和導數值: $$ \begin{array}{|c|} \hline x & x_0 & x_1 & x_2 & \cdots & x_n \\ \hline y & y_0 & y_1 & y_2 & \cdots & y_n \\ \hline y' & y_0' & y_1' & y_2' & \cdots & y_n' \\ \hline \end{array} $$ 由於有$2n+2$個約束條件,故構造出的Hermite插值多項式應當是$2n+1$次的(為了含有$2n+2$個未知數)。可以證明,插值基函式是 $$ h_i(x)=\left(1-\frac{\omega_n''(x_i)}{\omega_n'(x_i)}(x-x_i) \right)^2\prod_{j\ne i}\frac{x-x_j}{x_i-x_j},\\ H_i(x)=\left(\prod_{j\ne i}\frac{x-x_j}{x_i-x_j} \right)^2(x-x_i). $$ 於是Hermite插值多項式是 $$ H(x)=\sum_{i=0}^{n}(y_ih_i(x)+y_i'H_i(x)). $$ 接下來給出其誤差估計定理:如果$f^{(2n+2)}(x)$在$[a,b]$存在,則$\forall x\in [a,b]$,總存在$\xi\in (a,b)$,使得 $$ R(x)=f(x)-H(x)=\frac{f^{(2n+2)}(\xi)}{(2n+2)!}\omega_n^2(x). $$ 證明過程與多項式插值是類似的。 > 引入輔助函式為 > $$ > \psi(t)=R(t)-\frac{R(x)}{\omega_n^2(x)}\omega^2_n(t), > $$ > 由於此時$x_0,\cdots,x_n$都是$\psi(t)$的二重零點,故它們依然是$\psi'(t)$的零點。此外,$\psi(t)$在$[a,b]$上擁有$x,x_0,\cdots,x_n$一共$n+2$個零點,所以由Rolle定理,$\psi'(t)$在這些區間內還擁有$n+1$個異於$x_0,\cdots,x_n$的零點,故$\psi'(t)$在$[a,b]$內至少應擁有$2n+2$個零點。反覆使用Rolle定理,可知$\psi^{(2n+2)}(t)$在$[a,b]$內擁有一個零點,記作$\xi$,即 > $$ > R^{(2n+2)}(\xi)=\frac{R(x)}{\omega_n^2(x)}[\omega_n^2(\xi)]^{(2n+2)}. > $$ > 由於$H(t)$是$2n+1$次多項式,$\omega_n^2(t)$是最高次項為$1$的$2n+2$次多項式,故 > $$ > f^{(2n+2)}(\xi)=(2n+2)!\frac{R(x)}{\omega_n^2(x)}, > $$ > 即 > $$ > R(x)=\frac{f^{(2n+2)}(\xi)}{(2n+2)!}\omega_n^2(x). > $$ ### 分段三次Hermite插值 如果我們知道了$x_0,\cdots,x_n$處的函式值以及導數值,除了能直接構造一個$2n+1$次多項式進行Hermite插值,也可以類似分段線性插值一樣,構造分段Hermite插值。此時,在每一段上的插值函式是一個三次多項式,類似於已知$x_0,x_1$處的函式值$y_0,y_1$和$y_0',y_1'$一樣。 由於此過程類似分段線性插值,只是使用了不同的插值多項式,因此不過多展開。要注意的是,分段線性插值是一條折線,因此不是$[a,b]$上可導的。但是分段Hermite插值保證了每一個結點處的微商值,因此在每一個小區間上左導數等於右導數,所以分段三次Hermite插值是$C^1[a,b]$的。 現在來看在每一個小區間上的誤差估計,前面我們已經得出了一般情況下Hermite插值的誤差估計,特別在兩個點$x_0,x_1$處,有 $$ R(x)=\frac{f^{(4)}(\xi)}{4!}(x-x_0)^2(x-x_1)^2, $$ 如果$f^{(4)}(x)$在$[x_0,x_1]$上有界$M$,則 $$ |R(x)|\le\frac{M}{4!}(x-x_0)^2(x-x_1)^2\le \frac{M}{4!}\left(\frac{x_0+x_1}{2}-x_0 \right)^2\left(\frac{x_0+x_1}{2}-x_1 \right)^2=\frac{M(x_1-x_0)^4}{384}. $$ 因此,如果$f^{(4)}(x)$在$[x_0,x_1]$上有界$M$,且每一個小區間的長度最大值為$h$,那麼分段三次Hermite插值的誤差估計上限為 $$ |R(x)|\le \frac{Mh^4}{384}. $$ ## 三、樣條插值 最後簡要介紹一下樣條插值。分段Hermite插值雖然解決了分段線性插值不可導的問題,但也存在一些問題,一是實際生活中,插值點處的微商$y_0',y_1',\cdots,y_n'$難以獲得;二是此函式是$C^1$的而不是$C^2$的。樣條插值便是在每一個區間$[x_i,x_{i+1}],i=0,1,\cdots,n-1$上用三次函式進行插值,使得插值函式在連線點具有連續曲率。 ### 樣條插值特點 具體說來,三次樣條插值函式$s(x)$滿足下列條件: 1. $s(x_i)=y_i$,$i=0,1,\cdots,n$; 2. 在每一個小區間$[x_i,x_{i+1}]$上,$s(x)$是一個不高於三次的多項式; 3. $s(x)\in C^2[a,b]$。 不過,這三個條件不能唯一確定$s(x)$,因為約束條件個數不足。如果要使$s(x)$是唯一確定的,還需要兩個邊界條件(下一部分將解釋為什麼是兩個)。常用的邊界條件有: 1. 自然邊界條件:$s''(x_0)=s''(x_n)=0$。 2. 固定邊界條件:$s'(x_0)=y_0'$,$s'(x_n)=y_n'$已知。 3. 週期條件:$f(x)$是周期函式,基本週期為$x_n-x_0$,從而$s(x)$是周期函式。 ### 樣條插值函式的一般求解 設每一個小區間$[x_i,x_{i+1}]$上的插值函式是$s_i(x)$,$i=0,1,\cdots,n-1$,其區間長度為$x_{i+1}-x_i=h_i$,此時$y_i,h_i$都是已知量。設 $$ s_i(x)=a_i+b_i(x-x_i)+c_i(x-x_i)^2+d_i(x-x_i)^2, $$ 則由$s_i(x_i)=y_i$可得$a_i=y_i$。另一邊,需要滿足$s_i(x_{i+1})=y_{i+1}$,也就是 $$ y_i+b_ih_i+c_ih_i^2+d_ih_i^3=y_{i+1}.\quad (1) $$ 接下來考慮微商之間的關係,有$s_i'(x)=b_i+2c_i(x-x_i)+3d_i(x-x_i)^2$,由$s_i'(x_{i+1})=s'_{i+1}(x_{i+1})$,有 $$ b_i+2c_ih_i+3d_ih_i^2=b_{i+1}\quad (2), $$ 由於樣條插值是$C^2$的,所以考慮二階微商,即$s_i''(x)=2c_i+6d_i(x-x_i)$,由$s_{i}''(x_{i+1})=s''_{i+1}(x_{i+1})$,有 $$ 2c_i+6d_ih_i=2c_{i+1}\quad (3). $$ 現設$m_i=2c_i$,則由$(3)$,有 $$ d_i=\frac{2c_{i+1}-2c_{i}}{6h_i}=\frac{m_{i+1}-m_i}{6h_i}, $$ 再由$(1)$,有 $$ b_i=\frac{y_{i+1}-y_{i}-\frac{h_i^2(m_{i+1}-m_{i})}{6}-\frac{m_ih_i^2}{2}}{h_i}=\frac{y_{i+1}-y_i}{h_i}-\frac{h_i(m_{i+1}+2m_{i})}{6}, $$ 這樣,所有未知數都是關於$m_i$的函式,最後回到關係式$(2)$,得到 $$ \frac{y_{i+1}-y_{i}}{h_i}-\frac{h_i(m_{i+1}+2m_i)}{6}+m_ih_i+\frac{h_i(m_{i+1}-m_i)}{2}=\frac{y_{i+2}-y_{i+1}}{h_{i+1}}-\frac{h_{i+1}(m_{i+2}+2m_{i+1})}{6}, $$ 稍加整理,得到 $$ h_im_i+2(h_i+h_{i+1})m_{i+1}+h_{i+1}m_{i+2}=6\left[\frac{y_{i+2}-y_{i+1}}{h_{i+1}}-\frac{y_{i+1}-y_i}{h_i} \right],\quad i=0,1,\cdots,n-1. $$ 這是一個關於$m_0,m_1,\cdots,m_{n}$的線性方程組,含有$n+1$個變數,卻只有$n-1$個等式,因此還缺少兩個約束條件。 ### 自然邊界求解 現在對$s''(x_0)=s''(x_n)=0$的情況給出求解。此時$s_0''(x_0)=2c_0=0$,故$m_0=0$;$s_n''(x_n)=0$有$m_n=0$(儘管我們只使用了$s_0,\cdots,s_{n-1}$個等式,但$s_n$可以類似定義),這樣,我們可以得到 現在對$s''(x_0)=s''(x_n)=0$的情況給出求解。此時$s_0''(x_0)=2c_0=0$,故$m_0=0$;$s_n''(x_n)=0$有$m_n=0$(儘管我們只使用了$s_0,\cdots,s_{n-1}$個等式,但$s_n$可以類似定義),這樣,我們可以得到一個線性方程組: $$ \begin{bmatrix} 1 & 0 & 0 & 0 & \cdots & 0 &0 \\ h_0 & 2(h_0+h_1) & h_1 & 0 & \cdots & 0 & 0 \\ 0 & h_1 & 2(h_1+h_2) & h_2 & \cdots & 0 & 0 \\ \vdots & \vdots & \ddots & \ddots & \ddots & \vdots & \vdots \\ 0 & 0 & \cdots & \cdots & h_{n-2} & 2(h_{n-2}+h_{n-1}) & h_{n-1} \\ 0 & 0 & 0 & 0 & \cdots &0 & 1 \end{bmatrix}\begin{bmatrix} m_0 \\ m_1 \\ m_2 \\ \vdots \\ m_{n-1} \\ m_n \end{bmatrix}\\ =6\begin{bmatrix} 0 \\ \frac{y_2-y_1}{h_1}-\frac{y_1-y_0}{h_0} \\ \frac{y_3-y_2}{h_2}-\frac{y_2-y_1}{h_1} \\ \vdots \\ \frac{y_{n}-y_{n-1}}{h_{n-1}}-\frac{y_{n-1}-y_{n-2}}{h_{n-2}} \\ 0 \end{bmatrix} $$ 線性方程組的求解是容易的,這樣我們解出了$m_0,\cdots,m_n$之後,就可以確定各個$b_i,c_i,d_i$的值,從而得到每一區間上的三次Hermite插值多