《計算方法 》 - 第2章 插值法 - 解題套路

1、4種插值方法及其偏差估計

一、多項式插值(以單項式爲基地)

(Ⅰ)解題思路

\[P_n(x)=a_0+a_1x+……+a_nx^n \]

\(\{x\}_{i=0}^n\)代入,構造出一個關於係數\(a_0,a_1,……,a_n\)\(n+1\)元線性方程組,並解出\(\{a\}\)app

因爲這種插值方法是最繁雜的,因此通常不會用到(除非在小學生面前裝*),因此也不會考慮其偏差,若是非得考慮的話,由範德蒙德矩陣可知,矩陣非奇異因此\(P_n(x)\)存在且惟一,故而偏差和其餘插值方法的偏差是同樣的,這裏就不作討論了。函數



(Ⅱ)例題(參考《數值分析 第五版》\(P_{48}\ T_1\)

題目:\(x=1,-1,2\)時,\(f(x)=0,-3,4\),用單項式基底求\(f(x)\)的二次差值多項式。ui

解答:spa

構造插值函數:\(P_2(x)=a_0+a_1x+a_2x^2\),這時代入\(\{x\}_{i=0}^2\),獲得以下的3元線性方程組:code

\[\begin{cases} P_2(x_0)=a_0+a_1x_0+a_2x_{0}^2=0\\\\ P_2(x_1)=a_0+a_1x_1+a_2x_{1}^2=-3\\\\ P_2(x_2)=a_0+a_1x_2+a_2x_{2}^2=4 \end{cases} \Longrightarrow \begin{cases} P_2(1)=a_0+a_1+a_2=0\\\\ P_2(-1)=a_0-a_1+a_2=-3\\\\ P_2(2)=a_0+2a_1+4a_2=4 \end{cases} \]

解得:blog

\[\begin{cases} a_0=-\ \frac{7}{3}\\\\ a_1=\quad\frac{3}{2}\\\\ a_2=\quad\frac{5}{6} \end{cases} \]

因此最後得出插值函數:\(P_2(x)=-\frac{7}{3}+\frac{3}{2}x+\frac{5}{6}x^2\)it



二、拉格朗日插值法

(Ⅰ)解題思路

\[L_n(x)=\sum_{i=0}^n{f(x_i)\times\frac{(x-x_0)…(x-x_{j-1})(x-x_{j+1})…(x-x_n)}{(x_j-x_0)…(x_j-x_{j-1})(x_j-x_{j+1})…(x_j-x_n)}} \]

\[R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\times\omega_{n+1}(x),\xi\in(a,b) \]

因此線性插值的函數和偏差估計爲:io

\[L_1(x)={f(x_0)\times\frac{(x-x_1)}{(x_0-x_1)}+f(x_1)\times\frac{(x-x_0)}{(x_1-x_0)}} \]

\[R_1(x)=\frac{f^{(2)}(\xi)}{2}\times(x-x_0)(x-x_1),\xi\in(x_0,x_1) \]

二次插值的函數和偏差估計爲:table

\[L_2(x)=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}\times f(x_0)+\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}\times f(x_1)+\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}\times f(x_2) \]

\[R_2(x)=\frac{1}{3!}f^{(3)}(\xi)(x-x_{0})(x-x_{1})(x-x_{2}) \]

有上述的偏差分析能夠看到,\(n\)階拉格朗日插值法對\(n\)階及其如下的\(f(x)\)都準確成立,因此精度爲\(n\)class



(Ⅱ)例題

例題1(參考《數值分析 第五版》\(P_{48} T_1\)\(\Longrightarrow\) 解出插值函數

題目:\(x=1,-1,2\)時,\(f(x)=0,-3,4\),用拉格朗日插值基底求\(f(x)\)的二次差值多項式。

解答:

\[\begin{cases} &l_0(x)=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}=-\ \frac{1}{2}(x+1)(x-2)\\\\ &l_1(x)=\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}=\quad\frac{1}{6}(x-1)(x-2)\\\\ &l_2(x)=\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}=\quad\frac{1}{3}(x-1)(x+1) \end{cases} \]

因此解得\(L_2(x)=-\frac{1}{2}(x+1)(x-2)+\frac{1}{6}(x-1)(x-2)+\frac{1}{3}(x-1)(x+1)\)


例題2(參考《數值分析 第五版》\(P_{48} T_4\)\(\Longrightarrow\) 拉格朗日插值的精度

題目:\(x_j\)爲互異節點(\(j=0,1,…,n\)),求證:\(\sum_{j=0}^{n}{[x_j^k\times l(x_j)]}\equiv x^k\)\(k=0,1…n\)

解答:

根據拉格朗日插值函數模型,咱們不妨設\(f(x)=x^k\);也就是說咱們證的是\(L_n(x)\equiv f(x)\),即證\(R_n(x)\equiv0\);根據拉格朗日插值的偏差估計,咱們不可貴出\(R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\times\omega_{(n+1)}(x)\);這個時候考察\(f^{(n+1)}(\xi)\),因爲\(f(x)=x^k\)\(k\)階多項式,而且\(k\le n\),因此\(f^{(n+1)}(\xi)\equiv0\),故而\(R_n(x)\equiv0\),證畢;

總結: 此題能夠得出結論——\(n\)階拉格朗日插值多項式的精度爲\(n\),也就是對\(n\)階之內的函數都準確成立


例題3(參考《數值分析 第五版》\(P_{48} T_5\)\(\Longrightarrow\) 拉格朗日插值中線性插值的偏差分析

題目:\(f(x)\in C^2[a,b]\)\(f(a)=f(b)=0\),求證:\(\underset{a\le x\le b}{max}|f(x)|\le\frac{1}{8}(b-a)^2\times\underset{a\le x\le b}{max}|f^{(2)}(x)|\)

解答:

很顯然,只給了兩個點,正好兩個插值條件,因此咱們使用線性插值方法,構造線性插值函數:

\[L_1(x)={f(x_0)\times\frac{(x-x_1)}{(x_0-x_1)}+f(x_1)\times\frac{(x-x_0)}{(x_1-x_0)}}=0 \]

因此\(f(x)=L_1(x)+R_1(x)=R_1(x)=\frac{f^{(2)}(\xi)}{2}\times(x-a)(x-b),\xi\in(a,b)\);因此考慮到\((x-a)(x-b)\)\((a,b)\)上的最大值在\(x=\frac{a+b}{2}\)處,值爲\((\frac{b-a}{2})^2\),因此便可得出結論:\(\underset{a\le x\le b}{max}|f(x)|\le\frac{1}{8}(b-a)^2\times\underset{a\le x\le b}{max}|f^{(2)}(x)|\),證畢。

總結: 把握線性插值的偏差估計,\(\omega_{n+1}(x)\)在中點出去的最大值。順便掌握\(n\)階拉格朗日插值的偏差。


例題4(參考《數值分析 第五版》\(P_{48} T_6\)\(\Longrightarrow\) 拉格朗日插值中二次插值的偏差分析

題目:\(-4\le x\le4\)給出\(f(x)=e^x\)的等距節點函數表,若用二次差值求\(e^x\)的近似值,要使截斷偏差不超過\(10^{-6}\),求出函數表的步長\(h\)應取多少?

解答:

\[R_h(x)=\frac{1}{3!}f^{(3)}(\xi)(x-x_{i-1})(x-x_{i})(x-x_{i+1}) \]

\(x=x_i+th\),則\(x_{i-1},x_i,x_{i+1}\)分別對應\(t=-1,0,1\),故而有:

\[(x-x_{i-1})(x-x_{i})(x-x_{i+1})=(t-1)t(t+1)h^3 \]

要求是截斷偏差不超過\(10^{-6}\),因此只要偏差限不超過\(10^{-6}\)便可,而偏差限就是\(|R_h(x)|\)的最大值。設函數:\(\psi(t)=(t-1)t(t+1)\),如今分別考慮\(f^{(3)}(\xi)\)\(\psi(t)\)的最大值。

\(\psi(t)\)求一階導可得:\(\psi^{'}(t)=3t^2-1\),因此有\(|\psi(t)|\)\([0,1]\)上的最大值爲\(|\psi(\frac{1}{\sqrt{3}})|=\frac{2\sqrt{3}}{9}\)

\(\underset{-4\le x\le4}{max}|f^{(3)}(x)|=\underset{-4\le x\le4}{max}|e^x|=|e^4|=54.60\)

因此得出\(\underset{-4\le x\le4}{max}|R_h(x)|=\frac{\sqrt{3}}{27}\cdot54.60\times h^3\le10^{-6}\Longrightarrow h\le0.0066\)

總結: 看似有步長,爲分段插值,其實本質上就是分析拉格朗日插值法的偏差,熟練掌握拉格朗日插值法的偏差估計:\(R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)}\times\omega_{n+1}(x)\),經過代入給出的\(f(x)\)的表達式來判斷\(f^{(n+1)}(\xi)\)的最大值,並結合\(\omega_{n+1}(x)\)的最大值(此處通常都是整一個步長\(h=\underset{k}{max}\ h_k\),而後將\(x_i\)\(x\)替換掉,構形成一個\(t\)的函數),從而肯定出\(n\)階拉格朗日插值多項式的偏差限。




三、牛頓插值

(Ⅰ)解題思路

牛頓插值有兩種表達形式:均差形式的牛頓插值差分形式的牛頓插值

第一種:均差形式的牛頓插值

\[\begin{equation}\begin{aligned}P_n(x) &= f(x_0)+f[x_0, x_1]·(x-x_0)+f[x_0, x_1, x_2]·(x-x_0)(x-x_1)+...+f[x_0, x_1, ..., x_n]·(x-x_0)(x-x_1)...(x-x_{n-1})\end{aligned}\end{equation} \]

\[R_n(x) = f[x, x_0, x_1, ..., x_n]·\omega_{n+1}(x) \]

只有各階的均差咱們是不知道的,可是咱們能夠經過構造均差表來求得。

而且值得注意的一點是:在高階均差中的同階均差相差很少,能夠近似相等,這能夠簡化求偏差限;一樣也正是由於這個緣由,咱們在求偏差限的時候一般是將\(f[x, x_0, x_1, ..., x_n]\)換成\(f[x_0, x_1, ..., x_n,x_{n+1}]\),也就是說咱們須要\(n+2\)個點才能估計出均差形式的偏差限。


第二種:差分形式的牛頓插值(牛頓前插公式)

\[P_n(x_0+th) = f_0+t\Delta f_0+\frac{t(t-1)}{2!}\Delta^2f_0+…+\frac{t(t-1)…(t-n+1)}{n!}\Delta^nf_0 \]

\[R_n(x) = \frac{t(t-1)…(t-n+1)}{(n+1)!}h^{n+1}f^{(n+1)}(\xi),其中\xi \in [x_0, x_n] \]

一樣的,咱們能夠經過構造差分表來獲取\(x_0\)點處的各階差分。

均差形式的牛頓插值不一樣,差分形式的牛頓插值在解算偏差限的時候只須要\(n+1\)個點。

不過咱們依然能夠看到,差分形式是由均差形式經過「均差-差分」(\(f[x_k, ..., x_{k+m}] = \frac{1}{m}\frac{1}{h^m}\Delta^mf_k,其中m=1,2,...,n\))以及「差分-導數」(\(\Delta^nf_k = h^nf^{(n)}(\xi)\),其中\(\xi \in [x_k, x_{k+n}]\))這兩層關係推出來的,也就是說將\(f[x, x_0, x_1, ..., x_n]\)換成了\(f^{(n+1)}(\xi)\),這樣就要求\(f(x)\)\(n+1\)階導數。


總結: 當插值函數是一個複雜函數(這裏的複雜指的是原函數的導數不容易得出)時,如:\(f(x)=\sqrt{\frac{\cos x+2\sin x}{2\cos x-\sin x}}\),想求\(n+1\)階導數幾乎是不存在的(除非你是徐半仙或者聶星人或者許外掛),這是咱們就只能經過構造均差表來解算其偏差限;當插值函數是一個簡單函數時,如\(f(x)=\cos x\),這時求\(n+1\)階導數趕趕單單沒有\(len\)何挑戰,因此就能夠構造差分表來解算偏差限。

通常地,題目中應該會給咱們\(n+2\)個點來研究\(n\)次的牛頓插值。可是若是題目中的原函數是複雜函數,而且只給了\(n+1\)個點,這個時候咱們不用慌,還有\(PlanB\)——題目確定是要咱們求\(f(m)\)的近似值,其中\(m\in(x_0,x_n)\),這個時候就至關於給了咱們第\(n+2\)個點:\(m\),咱們就可以經過\(f(m)\)的值(代入表達式中得到的近似值)來求得\(f[x, x_0, x_1, ..., x_n]\)



(Ⅱ)例題

例題1(參考《數值分析 第五版》\(P_{32} 例題4\)\(\Longrightarrow\) 均差形式的牛頓插值及其偏差估計

題目: 給出\(f(x)\)的函數表求4次牛頓插值多項式,並由此計算\(f(0.596)\)的近似值及其偏差限。

解答:

首先根據給定函數表構造《函數-均差表》:

\(x\) \(f(x)\) \(\Delta f^{(1)}\) \(\Delta f^{(2)}\) \(\Delta f^{(3)}\) \(\Delta f^{(4)}\) \(\Delta f^{(5)}\)
\(0.40\) \(\underline{0.41075}\)
\(0.55\) \(0.57815\) \(\underline{1.11600}\)
\(0.65\) \(0.69675\) \(1.18600\) \(\underline{0.28000}\)
\(0.80\) \(0.88811\) \(1.27573\) \(0.35893\) \(\underline{0.19733}\)
\(0.90\) \(1.02652\) \(1.38410\) \(0.43348\) \(0.21300\) \(\underline{0.03134}\)
\(1.05\) \(1.25382\) \(1.51533\) \(0.52493\) \(0.22863\) \(0.03126\) \(-\ 0.00012\)

\[\begin{equation}\begin{aligned}P_n(x) &= f(x_0)+f[x_0, x_1]·(x-x_0)+f[x_0, x_1, x_2]·(x-x_0)(x-x_1)+...+f[x_0, x_1, ..., x_n]·(x-x_0)(x-x_1)...(x-x_{n-1})\end{aligned}\end{equation} \]

因此咱們能夠獲得:

\[\begin{equation}\begin{aligned} P_4(x) &= \quad0.41075+1.11600\cdot(x-0.40)+0.28000\cdot(x-0.40)(x-0.55)\\&+\quad0.19733\cdot(x-0.40)(x-0.55)(x-0.65)\\ &+\quad 0.03134\cdot(x-0.40)(x-0.55)(x-0.65)(x-0.80) \end{aligned}\end{equation} \]

因此有:\(f(0.596)\approx P_4(0.596)=0.63192\ 3237\),另外咱們有截斷偏差爲:

\[|R_4(x)| = |f[x, x_0, x_1, ..., x_4]·\omega_{5}(0.596)|\approx |f[x_0, x_1, ..., x_5]·\omega_{5}(0.596)|\le3.63\times10^{-9} \]

\(PlanB\)

PlanB

如下內容瞭解便可,考試時通常用不着!!!

你們不難發現,我這裏保留了小數點後15位,那是否是保留10位或者更小的有效數字就爲0了呢?咱們不妨來看一下保留5位和7位的狀況:

保留小數點後5位

保留小數點後7位

你們不難發現,結果並非咱們想象的那樣簡單,有效位數對偏差影響是很是很是大的,正所謂「差之毫釐謬以千里」,可是咱們不用慌,由於如圖所示(天機就是拿來泄漏的🤪):

泄漏天機

因此你們就循序漸進便可,題目仍是很嚴謹的!!!


例題2(參考《數值分析 第五版》\(P_{34} 例題5\)\(\Longrightarrow\) 差分形式的牛頓插值及其偏差估計

題目: 給出\(f(x)=\cos x\)\(x_k=kh\)(k=0,1,…,5\(、\)h=0.1\()處的函數值,試用4次牛頓前插公式計算\)\(f(0.048)\)的近似值並估計偏差。

解答:

首先構造差分表,並用牛頓前插公式:

\(x=x_0+th\Longrightarrow t=\frac{x-x_0}{h}=0.48\);因此有

\[\begin{aligned}\cos(0.048)\approx P_4(0.048)&=1.00000+0.48\times(-0.00500)+\frac{0.48\cdot(0.48-1)}{2!}\times(-0.00993)\\&+\frac{0.48\cdot(0.48-1)\cdot(0.48-2)}{3!}\times(0.00013)\\&+\frac{0.48\cdot(0.48-1)\cdot(0.48-2)\cdot(0.48-3)}{4!}\times(0.00012)\\&=0.99885\end{aligned} \]

其偏差限函數爲:

\[|R_4(x)| = \frac{t(t-1)(t-2)(t-3)(t-4)}{5!}h^{5}f^{(5)}(\xi),其中\xi \in [x_0, x_n] \]

因此有:

\[|R_4(0.0480)| \le \frac{0.48(0.48-1)(0.48-2)(0.48-3)(0.48-4)}{5!}(0.1)^{5}\times|\sin(0.5)|\le1.3433\times10^{-7} \]


總結:

均差表能夠不用原函數求\(n+1\)階導數,可是它的缺點就是難算,並且估計偏差的時候須要\(n+2\)個點;

差分表的製做過程比均差表簡單得多,並且能夠不用第\(n+2\)個點就能估計出偏差限,前提是原函數的導數必須是能求出來的;




四、埃爾米特插值

(Ⅰ)整理思緒:埃爾米特插值與牛頓插值的聯繫

這也就是說埃爾米特插值就是牛頓插值的一種特殊狀況,兩點三次埃爾米特插值和\(n\)\(n\)次埃爾米特插值是埃爾米特插值的兩種經常使用模型;並且通常也就是靠這兩種(除非有人想要🐶你並讓你🤮)。

(Ⅱ)解題思路

普通的牛頓插值在此前已經研究完了,如今咱們開始研究埃爾米特插值的套路。

(1)套路2(普通的埃爾米特插值): 給出了\(m+1\)個插值條件【含函數值(\(k+1\)個)和導數值(\(n-k\)個)】構造出不超過\(m\)次的埃爾米特插值多項式。【順便提一嘴:書上有說不給通常埃爾米特插值的公式,由於這不必】。

因爲以前有說「埃爾米特插值就是牛頓插值的特殊狀況」,那麼很顯然,這句話的意思就是埃爾米特插值也遵循牛頓插值的套路——套路1。在這裏咱們就有了兩套方案:

\(PlanA\) 我親切地稱之爲「牛頓插值附身法」(由於和牛頓插值簡直如出一轍)

構造函數表和均差表,重結點就替換爲導數,啥一階導、二階導通通安排上(如今感受十分撓頭不要緊,以後有例子和詳細步驟,因此不用慌張)。

\(PlanB\) 我願稱之爲「暴力硬核待定係數法」(真的很暴力,通常也就3點3次埃爾米特插值用)

用全部的點(不包含其餘重節點,意思就是隻能每一組重節點中只能有一個入選)構造一個《函數-均差表》,而後寫出插值函數,這個插值函數十年小母🐮——老🐮🍺了,一共是分爲倆部分:牛頓插值函數和待定係數高階多項式。

牛頓插值函數 依據\(PlanB\)中構造的均差表獲得的牛頓插值函數;

待定係數高階多項式 因爲不是\(n+1\)個點,因此牛頓插值函數必然到不到\(n\)階,這是咱們就須要待定係數,而且按照牛頓插值函數構造的規則來填補剩下的高階多項式。若是是\(n\)\(n\)次埃爾米特插值函數,那麼就直接在\(n-1\)階牛頓插值函數後面利用第\(n\)個點:\(P_n(x)=P_{n-1}(x)+A\times(x-x_0)…(x-x_n)\)

其偏差估計固然就能夠用牛頓插值的偏差估計了,不過值得注意的是咱們用的牛頓前插公式,並且將步長與\((t-i+1)\)進行了合併,從新獲得了\((x-x_i)\)

\[R_n(x)=\frac{1}{(n+1)!}\cdot f^{(n+1)}(\xi)\times\prod_{i=0}^k(x-x_i)^{j_i} \]

其中\(j_i\)表示第\(x_i\)這個點出現的次數,好比若是不是重節點那麼該值就爲1。


(2)套路3(兩點三次埃爾米特插值): 有兩個節點,在這兩個節點上,原函數函數值與插值函數函數值相等(\(f(x_i)=P(x_i)\)),而且對應的導數值也相等(\(f^{(1)}(x_i)=P^{(1)}(x_i)\))。直接給出公式:

\[\begin{aligned}H_3(x)=&(1+2\cdot\frac{x-x_k}{x_{k+1}-x_k})(\frac{x-x_{k+1}}{x_k-x_{k+1}})^2\cdot y(x_k)+(1+2\cdot\frac{x-x_{k+1}}{x_k-x_{k+1}})(\frac{x-x_{k}}{x_{k+1}-x_k})^2\cdot y(x_{k+1})\\\\&+({x-x_k})(\frac{x-x_{k+1}}{x_k-x_{k+1}})^2\cdot y^{'}(x_k)+({x-x_{k+1}})(\frac{x-x_{k}}{x_{k+1}-x_{k}})^2\cdot y^{'}(x_{k+1})\end{aligned} \]

其偏差估計爲:

\[R_3(x)=\frac{f^{(4)}(\xi)}{4!}(x-x_k)^2(x-x_{k+1})^2\qquad\xi\in(x_k,x_{k+1}) \]



(Ⅲ)例題

例題1(參考《數值分析 第五版》\(P_{49} T_{13}\)\(\Longrightarrow\) 套路2(普通的埃爾米特插值)

題目: 求次數小於等於3的多項式\(P_3(x)\),是知足條件\(P_3(x_0)=f(x_0)\)\(P_3^{(1)}(x_0)=f^{(1)}(x_0)\)\(P_3^{(2)}(x_0)=f^{(2)}(x_0)\)\(P_3(x_1)=f(x_1)\)

解答:

能夠看到這雖然是「兩點三次埃爾米特插值」,可是此非彼,因此初步斷定此題爲🤮題;

此題是「普通埃爾米特插值」,因此有兩種解法(忽然發現一舉兩得):

\(PlanA\) 「牛頓插值附身法」

構建《函數-均差表》:

\(x\) \(f(x)\) 一階均差 二階均差 三階均差
\(x_0^{(1)}\) \(f(x_0)^{(1)}\)
\(x_0^{(2)}\) \(f(x_0)^{(2)}\) \(f^{(1)}(x_0)^{(1)}\)
\(x_0^{(3)}\) \(f(x_0)^{(3)}\) \(f^{(1)}(x_0)^{(2)}\) \(\frac{f^{(2)}(x_0)}{2}\)
\(x_1\) \(f(x_1)\) \(f[x_0,x_1]\) \(\frac{f[x_0,x_1]-f^{(1)}(x_0)}{x_1-x_0}\) \(\frac{\frac{f[x_0,x_1]-f^{(1)}(x_0)}{x_1-x_0}-\frac{f^{(2)}(x_0)}{2}}{x_1-x_0}\)

這些東西通常都是已知的,只要帶進去算(反正我是不建議找規律帶公式的),仍是一個一個算吧,這公式忒難記了。

而後直接用牛頓插值就行了,這裏我就不寫了,沒多大個意義。

直接給出答案:

\[P_3(x)=f(x_0)+f^{'}(x_0)\times(x-x_0)+\frac{1}{2}f^{''}(x_0)\times(x-x_0)^2+[\frac{f[x_0,x_1]-f^{'}(x_0)}{x_1-x_0}-\frac{1}{2}f^{''}(x_0)]\times\frac{(x-x_0)^3}{x_1-x_0} \]

\(PlanB\) 「暴力硬核待定係數法」

構造《函數-均差表》:

\(x\) \(f(x)\) 一階均差
\(x_0\) \(f(x_0)\)
\(x_1\) \(f(x_1)\) \(f[x_0,x_1]\)

而後構造函數:

\[P_3(x)=f(x_0)+f[x_0,x_1]\cdot(x-x_0)+A\times(x-x_0)(x-x_1)+B\times(x-x_0)^2(x-x_1) \]

\[P_3^{(1)}(x)=f[x_0,x_1]+A\times[2x-(x_0+x_1)]+B\times[(x-x_0)^2+2(x-x_0)(x-x_1)] \]

\[P_3^{(2)}(x)=2A+B\times[2(x-x_0)+2\cdot[2x-(x_0+x_1)]] \]

\(P_3^{(1)}(x_0)=f^{(1)}(x_0)\)\(P_3^{(2)}(x_0)=f^{(2)}(x_0)\)分別代入可得:

\[P_3^{(1)}(x_0)=1+A\times(x_0-x_1)=f^{(1)}(x_0) \]

\[P_3^{(2)}(x_0)=2A+B\times[2\cdot(x_0-x_1)]=f^{(2)}(x_0) \]

解得:

\[A=\frac{f^{(1)}(x_0)-f[x_0,x_1]}{x_0-x_1},\qquad B=\frac{f^{(2)}(x_0)\times(x_0-x_1)-2[f^{(1)}(x_0)-f[x_0,x_1]]}{2(x_0-x_1)^2} \]

代入函數,可得:

\[\begin{aligned}P_3(x)&=f(x_0)+f[x_0,x_1]\cdot(x-x_0)\\\\&+\frac{f^{(1)}(x_0)-f[x_0,x_1]}{x_0-x_1}\times(x-x_0)(x-x_1)\\\\&+\frac{f^{(2)}(x_0)\times(x_0-x_1)-2[f^{(1)}(x_0)-f[x_0,x_1]]}{2(x_0-x_1)^2}\times(x-x_0)^2(x-x_1)\end{aligned} \]

不妨整理一下(將\(x-x_1\Longrightarrow x-x_0+x_0-x_1\)),易得(放💨,可貴一批):

\[P_3(x)=f(x_0)+f^{'}(x_0)\times(x-x_0)+\frac{1}{2}f^{''}(x_0)\times(x-x_0)^2+[\frac{f[x_0,x_1]-f^{'}(x_0)}{x_1-x_0}-\frac{1}{2}f^{''}(x_0)]\times\frac{(x-x_0)^3}{x_1-x_0} \]

至此證畢,因此……你們知道爲啥我願稱之爲「暴力硬核待定係數法」了嘛?我去梳梳頭皮了先生活苦澀

\(PlanC\) 沒啥好名兒了,就暫定爲「牛頓待定係數法」吧

驚不驚喜,意不意外,沒想到我還有第三種方法叭(生活苦澀)。這是針對於僅僅不知道最高階的均差(或者說不想直接從表中求得)而且該點不是重節點。之因此說通常爲最後一項,是由於若是前面不知道後面的均差通常也無從得知,這是一個一環扣一環的過程。

首先咱們依據\(PlanB\)中構造的《函數-均差表》,因此有:

\(x\) \(f(x)\) 一階均差 二階均差 三階均差
\(x_0^{(1)}\) \(f(x_0)^{(1)}\)
\(x_0^{(2)}\) \(f(x_0)^{(2)}\) \(f^{(1)}(x_0)^{(1)}\)
\(x_0^{(3)}\) \(f(x_0)^{(3)}\) \(f^{(1)}(x_0)^{(2)}\) \(\frac{f^{(2)}(x_0)}{2}\)
\(x_1\) \(f(x_1)\) \(f[x_0,x_1]\) \(f[x_0,x_0,x_1]\) \(f[x_0,x_0,x_0,x_1]\)

而後發現只有第三節均差咱們是不知道的,因爲在牛頓插值的時候其實最後一個點是用不上的,可是插值函數很顯然是經過這個點的,因此先構造插值函數(設\(f[x_0,x_0,x_0,x_1]=A\)):

\[P_3(x)=f(x_0)+f^{'}(x_0)\times(x-x_0)+\frac{1}{2}f^{''}(x_0)\times(x-x_0)^2+A\times{(x-x_0)^3} \]

再將最後一個點代入函數,解得:

\[A=[\frac{f[x_0,x_1]-f^{'}(x_0)}{x_1-x_0}-\frac{1}{2}f^{''}(x_0)]\times\frac{1}{x_1-x_0} \]

因此最後仍是能夠獲得插值函數爲:

\[P_3(x)=f(x_0)+f^{'}(x_0)\times(x-x_0)+\frac{1}{2}f^{''}(x_0)\times(x-x_0)^2+[\frac{f[x_0,x_1]-f^{'}(x_0)}{x_1-x_0}-\frac{1}{2}f^{''}(x_0)]\times\frac{(x-x_0)^3}{x_1-x_0} \]

總結: 像套路2(普通埃爾米特插值函數)一共有三種解法

①、最樸素的解法(\(PlanA\):牛頓插值附身法): 將全部的點(包含重節點)都放入《函數-均差表》中,用牛頓插值法的思想解出函數的表達式。優勢——一步一步無腦代入、缺點——繁瑣;

②、最暴力的解法(\(PlanB\):暴力硬核待定係數法): 將全部點(不包含其餘重節點)放入《函數-均差表》中,先用牛頓插值法寫出前半部分,而後再用待定係數法構造出後半部分的高階多項式。最後將導數值的差之條件代入,並解出各個待定的係數。優勢——因爲插值的時候不考慮重節點,因此對計算機更加友好、缺點——常識告訴咱們暴力的方法只有計算機能勝任

③、當樸素和暴力擦除愛情的火花時(\(PlanC\):牛頓待定係數法): 當知足一下兩個條件時才能觸發:只有一項均差不知道 && 這一項對應的節點不能是重節點。這種狀況及其罕見,除非有人刻意安排(就像愛情同樣),因此你們必定要長點兒心,不要和這玩意兒失之交臂。經過待定係數構造出插值函數以後,將所求點代入方程接觸係數。


例題2(參考《數值分析 第五版》\(P_{49} T_{14}\)\(\Longrightarrow\) 套路3(兩點三次埃爾米特插值)

題目: 求小於等於3的多項式\(P_3(x)\)使其知足條件\(P_3(0)=0\)\(P_3^{'}(0)=1\)\(P_3(1)=1\)\(P_3^{'}(1)=2\)

解答:

\[\begin{aligned}H_3(x)=&(1+2\cdot\frac{x-x_k}{x_{k+1}-x_k})(\frac{x-x_{k+1}}{x_k-x_{k+1}})^2\cdot y(x_k)+(1+2\cdot\frac{x-x_{k+1}}{x_k-x_{k+1}})(\frac{x-x_{k}}{x_{k+1}-x_k})^2\cdot y(x_{k+1})\\\\&+({x-x_k})(\frac{x-x_{k+1}}{x_k-x_{k+1}})^2\cdot y^{'}(x_k)+({x-x_{k+1}})(\frac{x-x_{k}}{x_{k+1}-x_{k}})^2\cdot y^{'}(x_{k+1})\end{aligned} \]

直接代入,無腦求解:

\[\begin{aligned}P_3(x)&=(1+2\cdot\frac{x-0}{1-0})(\frac{x-1}{0-1})^2\cdot 0+(1+2\cdot\frac{x-1}{0-1})(\frac{x-0}{1-0})^2\cdot 1\\\\&+({x-0})(\frac{x-1}{0-1})^2\cdot 1+({x-1})(\frac{x-0}{1-0})^2\cdot 2\\\\&=x^2(3-2x)+x(x-1)^2+2x(x-1)=x^3-x^2+x\end{aligned} \]

總結: 像這種題通常都是無腦題,只要翻翻書就知道答案了(可是知道和算對永遠是兩碼事);


例題3(參考《數值分析 第五版》\(P_{49} T_{16}\)\(\Longrightarrow\) 套路3(兩點三次埃爾米特插值)— 埃爾米特與牛頓

題目: 求一個不高於4次的多項式\(P_4(x)\),使它知足\(P_4(0)=P_4^{'}(0)=0\)\(P_4(1)=P_4^{'}(1)=1\)\(P_4(2)=1\)

解答: 重點—埃爾米特插值是一種特殊的牛頓插值

因此咱們能夠依據條件:\(P_4(0)=P_4^{'}(0)=0\)\(P_4(1)=P_4^{'}(1)=1\),能夠無腦獲得兩點三次的埃爾米特插值多項式\(H_3(x)=x^2(2-x)\);又已知\(P_4(x)\)不高於4次,因此根據牛頓插值的改正思想構造函數:

\[P_4(x)=H_3(x)+A(x-0)^2(x-1)^2 \]

最後將最後一個點(想到套路2中的\(PlanC\))代入式中解得\(A=\frac{1}{4}\),故而得出插值函數爲:

\[P_4(x)=x^2(2-x)+\frac{1}{4}x^2(x-1)^2=\frac{1}{4}x^2(x-3)^2 \]

總結: 埃爾米特插值是一種特殊的牛頓插值,能夠運用改正的思想,而且巧妙的結合套路2中的\(PlanC\),把握機會。


例題3(參考《數值分析 第五版》\(P_{49} T_{15}\)\(\Longrightarrow\) 套路3(兩點三次埃爾米特插值)— 偏差分析

題目: 證實兩點三次埃爾米特的餘項爲\(R_3(x)=\frac{1}{4!}\cdot f^{(4)}(\xi)\times(x-x_k)^2(x-x_{k+1})^2,\xi\in(x_k,x_{k+1})\)

解答: 讓你記你就記着,你是十萬個爲何蠻?

總結: 其實這個餘項能夠從牛頓前插公式餘項中瞥見端倪,給出牛頓插值餘項:\(R_n(x)=\frac{1}{(n+1)!}\cdot f^{(n+1)}(\xi)\times\prod_{i=0}^k(x-x_i)^{j_i}\),很顯然\(n=3,j_1=j_2=2\),因此就有了兩點三次埃爾米特插值的偏差估計。




五、分段低次插值

(Ⅰ)解題思路: 掌握前面4種插值方法。



(Ⅱ)例題:

例題1(參考《數值分析 第五版》\(P_{49} T_{18}\))分段線性插值

主要掌握一點:

\[I_h(x)=\sum_{i=0}^n(f(x_i)\cdot l_i(x)) \]

而其中有:(\(x=x_i\)分別對應了兩段插值函數)

\[l_i(x)=\begin{cases}&\frac{x-x_{i-1}}{x_i-x_{i-1}}=\frac{1}{h}\times(x-x_{i-1}),x_{i-1}\le x\lt x_i\\\\&\frac{x-x_{i+1}}{x_i-x_{i+1}}=\frac{1}{h}\times(x_{i+1}-x),x_{i}\le x\lt x_{i+1}\\\\&0,其餘\end{cases} \]

偏差分析爲:

\[R_1(x)=\frac{1}{2}\cdot f^{''}(\xi)\times(x-x_i)(x-x_{i+1}) \]

因此偏差限爲:

\[\underset{a\le x\le b}{max}|R_{(1,h)}(x)|=\frac{1}{2}\cdot\underset{a\le x\le b}{max}{|f^{''}(x)|}\times(\frac{x_{i+1}-x_i}{2})^2=\frac{1}{8}\cdot\underset{a\le x\le b}{max}{|f^{''}(x)|}\times h^2 \]


例題2(參考《數值分析 第五版》\(P_{49} T_{19}\))兩點三次埃爾米特插值

與上述同理,構造分段插值函數:

\[I_h(x)=\sum_{i=0}^n[\alpha_i(x)f(x_i)+\beta_i(x)f^{'}(x_i)] \]

其中有:

\[\alpha_i(x)=\begin{cases}&(1+2\cdot\frac{x-x_{i}}{x_{i-1}-x_{i}})(\frac{x-x_{i-1}}{x_{i}-x_{i-1}})^2,x_{i-1}\le x\lt x_i\\\\&(1+2\cdot\frac{x-x_{i}}{x_{i+1}-x_i})(\frac{x-x_{i+1}}{x_{i}-x_{i+1}})^2,x_{i}\le x\lt x_{i+1}\end{cases},\qquad\beta_i(x)=\begin{cases}({x-x_i})(\frac{x-x_{i-1}}{x_i-x_{i-1}})^2,x_{i-1}\le x\lt x_i\\\\({x-x_{i}})(\frac{x-x_{i+1}}{x_{i}-x_{i+1}})^2,x_{i}\le x\lt x_{i+1}\end{cases} \]

偏差分析:

\[\underset{a\le x\le b}{max}|R_{(3,h)}(x)|\le\frac{h^4}{4!\times4^{^2}}\times\underset{a\le x\le b}{max}|f^{(4)}(\xi)| \]





2、均差與差分

(Ⅰ)均差的性質

均差性質(1): \(k\)階均差可表示爲函數值\(f(x_0)\)\(f(x_1)\)、……\(f(x_k)\)

\[f[x_0,x_1,……x_k]=\sum_{j=0}^k\frac{f(x_j)}{(x_j-x_0)…(x_j-x_{j-1})(x_j-x_{j+1})…(x_j-x_k)} \]


**均差性質(2): **第\(k\)階均差能夠用以下兩個\(k-1\)階均差表示(均差表的基礎)

\[f[x_0,x_1,……x_k]=\frac{f[x_1,……x_k]-f[x_0,x_1,……x_{k-1}]}{x_k-x_0} \]


均差性質(3): \(n\)階均差與導數的關係(分析偏差限和牛頓插值函數的精度)

\[f[x_0,x_1,……x_n]=\frac{f^{(n)}(\xi)}{n!},\xi\in[a,b] \]

從上述式子中咱們就能夠看出,牛頓插值的餘項爲\(f[x,x_0,x_1,……x_n]=\frac{f^{(n+1)}(\xi)}{{n+1}!}\),故精度即爲\(n\)

一般在作題的過程當中,性質(1)和性質(3)用得多一些。



(Ⅱ)差分、導數和均差的三角戀

(1)差分與均差的關係:

\[f[x_k,……,x_{k+m}]=\frac{1}{m}\frac{1}{h^m}\Delta^mf_k,其中m=1,2,...,n \]


(2)差分與導數的關係:

\[\Delta^nf_k = h^nf^{(n)}(\xi),其中\xi \in [x_k, x_{k+n}] \]


(3)\(n\)階均差與導數的關係:

\[f[x_0,x_1,……x_n]=\frac{f^{(n)}(\xi)}{n!},\xi\in[a,b] \]



(Ⅲ)例題

例題1(參考《數值分析 第五版》\(P_{48} T_{8}\))均差與導數的關係\(\Longrightarrow\)牛頓插值函數的精度

題目: \(f(x)=x^7+x^4+3x+1\),求\(f[2^0,2^1,…2^7]\)\(f[2^0,2^1,…2^8]\)

解答:

根據\(n\)階均差與導數的關係:\(f[x_0,x_1,……x_n]=\frac{f^{(n)}(\xi)}{n!}\),咱們不可貴出:

\[f[x_0,x_1,……x_7]=\frac{f^{(7)}(\xi)}{7!} \qquad \xi\in[2^0,2^7]\\f[x_0,x_1,……x_8]=\frac{f^{(8)}(\eta)}{8!} \qquad \eta\in[2^0,2^8] \]

\(f(x)\)的最高次數爲7,因此可得:

\[f[x_0,x_1,……x_7]=\frac{7!}{7!}=1\\f[x_0,x_1,……x_8]=\frac{0}{7!}=0\\ \]


例題2(參考《數值分析 第五版》\(P_{49} T_{12}\))均差與導數的關係\(\Longrightarrow\)牛頓插值函數的精度

題目: \(f(x)=a_0+a_1x+…+a_{n-1}x^{n-1}+a^nx^n\),有\(n\)個不一樣實根\(x_1,x_2,…,x_n\),證實:

\[\sum_{j=1}^n\frac{x_j^k}{f^{'}(x_j)}=\begin{cases}0,\qquad 0\le k\le n-2;\\\\a_n^{-1},\quad k=n-1;\end{cases} \]

解答:

\(g(x)=x^k\)\(\omega_n(x)=\prod_{i=1}^n(x-x_i)\),則有:

\[f(x)=a_n\cdot\omega_n(x),\qquad f^{'}(x_j)=a_n\omega_n^{'}(x_j) \]

由均差的性質(1)可得:\(g[x_1,…x_k]=\sum_{j=0}^k\frac{f(x_j)}{\omega_k^{'}(x_j)}\),又有均差與導數的關係:\(g[x_1,……x_k]=\frac{g^{(k-1)}(\xi)}{{(k-1)}!}\)

因此有:

\[\sum_{j=1}^n\frac{x_j^k}{f^{'}(x_j)}=\sum_{j=1}^n\frac{x_j^k}{a_n\omega_n^{'}(x_j)}=\frac{1}{a_n}\cdot\sum_{j=1}^n\frac{x_j^k}{\omega_n^{'}(x_j)}=\frac{1}{a_n}\cdot g[x_1,……x_n]=\frac{1}{a_n}\cdot\frac{g^{(n-1)}(\xi)}{{(n-1)}!} \]

因此當\(0\le k\le n-2\)時,\(g(x)\)的最高次數爲\(k\),對\(g(x)\)\(n-1\)階導以後顯然爲0;

\(k=n-1\)\(g(x)=x^{n-1}\),因此對\(g(x)\)\(n-1\)階導以後爲\((n-1)!\),因此得出最後的值爲\(a_n^{-1}\)

證畢。

相關文章
相關標籤/搜索