數(shù)值分析:插值與擬合


1?插值

定義?設(shè)函數(shù)y=f(x)在區(qū)間[a,b]上的n+1個(gè)點(diǎn),a\leq x_0,x_1,...,x_n\leq b上的函數(shù)值為y_0,y_1,...,y_n,若粗在函數(shù)P(x),使P(x_i)=y_i,i=0,1,...n成立,則稱函數(shù)P(x)f(x)插值函數(shù),f(x)稱為被插值函數(shù),點(diǎn)x_0,x_1,...,x_n稱為 插值節(jié)點(diǎn),包含插值節(jié)點(diǎn)的區(qū)間[a,b]稱為 插值區(qū)間

在這里我們進(jìn)討論 多項(xiàng)式插值分段插值

多項(xiàng)式插值
  • 插值多項(xiàng)式是否存在,若存在是否唯一
  • 怎么推導(dǎo)插值多項(xiàng)式
  • 如何估計(jì)其逼近程度
  • 如何應(yīng)用

定理1?在n+1個(gè)相異插值節(jié)點(diǎn)x_0,x_1,...,x_n處取給定值y_0,y_1,...,y_n的次數(shù)不高于n的插值多項(xiàng)式存在且唯一(可以通過(guò)非齊次線性方程組的范德蒙德行列式證明)


2?拉格朗日插值

2.1?拉格朗日插值多項(xiàng)式
  • 線性插值
    過(guò)曲線y=f(x)上兩點(diǎn)M_0(x_0,y_0),M_1(x_1,y_1)做直線L_1(x),由兩點(diǎn)式:L_1(x)=y_0\frac{x-x_1}{x_0-x_1}+y_1\frac{x-x_0}{x_1-x_0}顯然L_1(x)為插值多項(xiàng)式
  • 拋物線插值
    過(guò)曲線y=f(x)上三點(diǎn)M_0(x_0,y_0),M_1(x_1,y_1),M_2(x_2,y_2)做拋物線L_2(x),同樣不難得到:L_2(x)=y_0\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}+y_1\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}+y_2\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}顯然L_2(x)也為插值多項(xiàng)式

用類似的推導(dǎo)方式可以證明,n+1個(gè)節(jié)點(diǎn)的拉格朗日插值多項(xiàng)式應(yīng)定義為如下形式。
定義?y=f(x)在插值節(jié)點(diǎn)x_0,x_1,...,x_n上的 拉格朗日插值多項(xiàng)式 L_n(x)L_n(x)=y_0l_0(x)+y_1l_1(x)+...+y_nl_n(x)=\sum\limits_{i=0}^ny_il_i(x)其中l_i(x)=\frac{x-x_0}{x_i-x_0}\frac{x-x_1}{x_i-x_1}...\frac{x-x_n}{x_i-x_n},i=0,1,...n l_i(x)稱為 插值基函數(shù)


2.2?插值余項(xiàng)

若在[a,b]上使用L_n(x)近似f(x),則其截?cái)嗾`差為R_n(x)=f(x)-L_n(x),也稱為 插值多項(xiàng)式的余項(xiàng)。關(guān)于插值余項(xiàng)估計(jì)有如下定理

定理2?設(shè)f^{(n)}(x)在區(qū)間[a,b]上連續(xù),f^{(n+1)}(x)在區(qū)間(a,b)內(nèi)存在,L_n(x)是以a\le x_0<x_1<...<x_n\le b為節(jié)點(diǎn)的拉格朗日插值多項(xiàng)式,則對(duì)任何x\in [a,b] R_n(x)=f(x)-L_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\omega_{n+1}(x) \omega_{n+1}(x)=(x-x_0)(x-x_1)...(x-x_n)
這里\xi\in(a,b)且依賴于x


2.3?算法步驟

(1) 輸入x,x_i,y_i,(i=0,1,...,n)
(2) 對(duì)i=0,1,...,n計(jì)算l_i=\prod\limits_{j=o,j\neq i}^n\frac{x-x_j}{x_i-x_j}
(3) 計(jì)算L=\sum\limits_{i=0}^ny_il_i
(4) 輸出L \approx f(x),結(jié)束


2.4?注意事項(xiàng)
  • L_n(x)為次數(shù)不高于n次的多項(xiàng)式,其次數(shù)可能小于n
  • f(x)是次數(shù)不超過(guò)n次的多項(xiàng)式,那么以n+1個(gè)點(diǎn)為節(jié)點(diǎn)的插值多項(xiàng)式就一定是其本身。特別是當(dāng)取f(x)\equiv 1時(shí),得恒等式\sum\limits_{i=0}^nl_i(x)\equiv 1這一等式為我們提供了驗(yàn)證插值基函數(shù)的一種方法
  • R_n(x)用于誤差估計(jì)。若|f^{(n+1)}(x)|\le M,則|R_n(x)|\le \frac{M}{(n+1)!}|\omega_{n+1}(x)|
  • L_n(x)只與節(jié)點(diǎn)及函數(shù)f(x)在節(jié)點(diǎn)處的值有關(guān),與f(x)無(wú)關(guān);而R_n(x)f(x)關(guān)系最為密切。

3?差商與牛頓插值

3.1?差商

定義?設(shè)已給插值節(jié)點(diǎn)x_0,x_1,...,x_n以及相應(yīng)的函數(shù)值f(x_0),f(x_1),...,f(x_n)f[x_0,x_1]=\frac{f(x_1)-f(x_0)}{x_1-x_0}為函數(shù)y=f(x)關(guān)于點(diǎn)x_0,x_1一階差商,稱f[x_0,x_1,x_2]=\frac{f[x_1,x_2]-f[x_0,x_1]}{x_2-x_0}為函數(shù)y=f(x)關(guān)于點(diǎn)x_0,x_1,x_2二階差商,稱f[x_0,x_1,...,x_k]=\frac{f[x_1,x_2,...,x_k]-f[x_0,x_1,...,x_{k-1}]}{x_k-x_0}為函數(shù)y=f(x)關(guān)于點(diǎn)x_0,x_1,x_2k階差商


3.2?差商的性質(zhì)
  • 線性性
    k階差商f[x_0,x_1,...,x_k]是函數(shù)值f(x_0,f(x_1),...,f(x_k)的線性組合,即f[x_0,x_1,...,x_k]=\sum\limits_{i=0}^k{\frac{f(x_i)}{\omega'_{k+1}(x_i)}}其中\omega_{k+1}(x)=\prod\limits_{i=0}^k(x-x_i)
  • 對(duì)稱性
    差商f[x_0,x_1,...,x_k]x_0,x_1,...,x_k的對(duì)稱函數(shù)。
  • 差商與導(dǎo)數(shù)的關(guān)系
    設(shè)函數(shù)f(x)在區(qū)間[a,b]上存在n階導(dǎo)數(shù),且x_0,x_1,...,x_k\in [a,b],則存在\xi \in [a,b]使得f[x_0,x_1,...,x_k]=\frac{f^{(n)}(\xi)}{n!}

3.3?牛頓插值多項(xiàng)式

由差商的定義可導(dǎo)出f(x)=N_n(x)+R_n(x)其中\begin{align} N_n(x)=&f(x_0)+(x-x_0)f[x_0,x_1]+(x-x_0)(x-x_1)f[x_0,x_1,x_2]+...\\ &+(x-x_0)(x-x_1)...(x-x_{n-1})f[x_0,x_1,...,x_n]\\ \end{align}稱為牛頓插值多項(xiàng)式R_n(x)=f[x,x_0,x_1,...,x_n]\omega_{n+1}(x)稱為牛頓插值多項(xiàng)式的余項(xiàng)


3.4?算法步驟

(1) 輸入x,x_i,y_i(i=0,1,...,n)
(2) 對(duì)i=0,1,...,n計(jì)算f_i=y_i
(3)對(duì)i=1,2,...,n計(jì)算f_k=\frac{f_{k-1}-f_k}{x_{k-1}-x_k}(k=n,n-1,...,i)
(3) 計(jì)算p=f_0+\sum\limits_{k=0}^n{f_k(\prod\limits_{j=0}^{k-1}(x-x_j))}
(4) 輸出p \approx f(x),結(jié)束


4?Hermite插值

4.1?Hermite插值多項(xiàng)式及其余項(xiàng)

Hermite插值多項(xiàng)式:H_{2n+1}(x)=\sum\limits_{j=0}^n[y_j\alpha_j(x)+y_j'\beta_j(x)]其中\alpha_j(x)=\left[1-2(x-x_j)\sum\limits_{k=0,k\neq j}^n\frac{1}{x_j-x_k}\right]l^2_j(x) \beta_j(x)=(x-x_j)l_j^2(x)余項(xiàng):R_{2n+1}(x)=\frac{f^{(2n+2)}}{2n+2}\omega^2_{n+1}(x)其中\omega_{n+1}(x)=\prod\limits_{i=0}^n(x-x_i),\xi\in [a,b]


4.2?兩點(diǎn)三次Hermite插值多項(xiàng)式

已知y=f(x)[a,b]上的節(jié)點(diǎn)x_0,x_1上的函數(shù)值y_0,y_1及一階導(dǎo)數(shù)值y_0',y_1',則三次Hermite插值多項(xiàng)式\begin{align} H_3(x)=&y_0\alpha_0(x)+y_1\alpha_1(x)+y_0'\beta_0(x)+y_1'\beta_1(x)\\ =&y_0\left(1-2\frac{x-x_0}{x_0-x_1}\right)\left(\frac{x-x_1}{x_0-x_1}\right)^2+y_1\left(1-2\frac{x-x_1}{x_1-x_0}\right)\left(\frac{x-x_1}{x_0-x_1}\right)^2\\ &+y_0'(x-x_0)\left(\frac{x-x_1}{x_0-x_1}\right)^2+y_1'(x-x_1)\left(\frac{x-x_0}{x_1-x_0}\right)^2\\ \end{align}余項(xiàng)R_3(x)=\frac{f^{(4)}(\xi)}{4!}(x-x_0)^2(x-x_i)^2,\xi\in[a,b]


5?分段低次插值

5.1?龍格現(xiàn)象

隨著插值多項(xiàng)式次數(shù)的增大,插值函數(shù)L_n(x)在兩端會(huì)發(fā)生激烈的震蕩,這就是龍格現(xiàn)象

5.2?分段線性插值

對(duì)給定區(qū)間[a,b]做分割:a=x_0<x_1<...<x_n=b,在每個(gè)小區(qū)間[x_i,x_{i+1}]上以x_i,x_{i+1}為節(jié)點(diǎn)作f(x)的線性插值:S_i(x)=\frac{x-x_{i+1}}{x_i-x_{i+1}}f(x_i)+\frac{x-x_i}{x_{i+1}-x_i}f(x_{i+1}),x\in[x_i,x_{i+1}]把每個(gè)小區(qū)間上的線性插值函數(shù)連起來(lái),就得到了分段線性插值函數(shù)S(x)
誤差公式為|f(x)-S(x)|\leq\frac{M_2}{8}(x_i-x_{i+1})^2,M_2=\max\limits_{a\leq x\leq b}|f''(x)|

5.3?分段三次Hermite插值

對(duì)給定區(qū)間[a,b]做分割:a=x_0<x_1<...<x_n=b,在每個(gè)小區(qū)間[x_i,x_{i+1}]上以x_i,x_{i+1}為節(jié)點(diǎn)作分段三次Hermite插值:\begin{align} S_i(x)=&f(x_i)\left(1-2\frac{x-x_i}{x_i-x_{i+1}}\right)\left(\frac{x-x_{i+1}}{x_i-x_{i+1}}\right)^2\\ &+f(x_{i+1})\left(1-2\frac{x-x_{i+1}}{x_i-x_{i+1}}\right)\left(\frac{x-x_i}{x_{i+1}-x_{i}}\right)^2\\ &+f'(x_i) (x-x_i)\left(\frac{x-x_{i+1}}{x_i-x_{i+1}}\right)^2\\ &+f'(x_{i+1}) (x-x_{i+1})\left(\frac{x-x_i}{x_{i+1}-x_{i}}\right)^2\\ \end{align}誤差公式為|f(x)-S(x)|\leq\frac{h^4}{384}\max\limits_{x_i\leq x \leq x_{i-1}}|f^{(4)}(x)|,h=\max\limits_{0\leq i \leq n-1}|x_{i+1}-x_i|


5?最小二乘擬合

定義?確定a_k(k=0,1,...,m使得R(a_0,a_1,...,a_m)=\sum\limits_{k=1}^n(\varphi(x_k)-y_k)^2最小問(wèn)題稱為觀測(cè)數(shù)據(jù)的最小二乘擬合問(wèn)題。若函數(shù)系\{b_k(x)\}為冪函數(shù)系\{x^k\},此時(shí)的到的\varphi(x)稱為回歸曲線


5.1?最小二乘法

由于R({{a}_{0}},{{a}_{1}},...,{{a}_{m}})\ge 0,且為連續(xù)函數(shù),故一定存在一組{{a}_{k}}(k=0,1,...,m)使其達(dá)到極小值,這時(shí)我們只需要求出駐點(diǎn)即可。
因此我們假設(shè)y=f(x)的觀測(cè)數(shù)據(jù)為({{x}_{k}},{{y}_{k}})(k=1,2,...,n),對(duì)于\varphi(x)m次回歸曲線,通過(guò)求解正規(guī)方程組可以求出{{a}_{k}}(k=0,1,...,m)的值,可求得近似函數(shù)f(x)\left( \begin{matrix} n & \sum\limits_{k=1}^n x_k & \sum\limits_{k=1}^n x^2_k & \cdots & \sum\limits_{k=1}^n x^m_k\\ \sum\limits_{k=1}^n x_k & \sum\limits_{k=1}^n x^2_k & \sum\limits_{k=1}^n x^3_k & \cdots & \sum\limits_{k=1}^n x^{m+1}_k\\ \vdots & \vdots & \vdots & \ddots & \vdots\\ \sum\limits_{k=1}^n x^m_k & \sum\limits_{k=1}^n x^{m+1}_k & \sum\limits_{k=1}^n x^{m+2}_k& \cdots & \sum\limits_{k=1}^n x^{2m}_k\\ \end{matrix} \right) \left( \begin{matrix} a_0 \\ a_1 \\ \vdots \\ a_m \\ \end{matrix} \right)= \left( \begin{matrix} \sum\limits_{k=1}^n y_k \\ \sum\limits_{k=1}^n x_ky_k \\ \vdots \\ \sum\limits_{k=1}^n x_k^my_k \\ \end{matrix} \right)

解題時(shí),先寫出正規(guī)方程組所需數(shù)據(jù)的數(shù)據(jù)表,再求解即可得到參數(shù)


5.2?最小二乘法的病態(tài)現(xiàn)象

衡量一個(gè)線性方程組是否“病態(tài)”及其病態(tài)程度,可通過(guò)矩陣的條件數(shù)理論來(lái)完成。若線性方程組系 數(shù)矩陣A的條件數(shù) Cond(A)\gg 1,則該方程組“病態(tài)”,并且系數(shù)矩陣的條件數(shù)越大,方程組的“病態(tài)”程度就越嚴(yán)重,其解隨系數(shù)矩陣或自由項(xiàng)的變化(靈敏度)就越大。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容