寫在前面
前段時間學習了插值法,雖然當時跟着老師的步驟,將公式推導了出來,但是也還有一些問題沒有解決,為了防止遺忘,我把它們都記錄在這里,主要分為兩部分:
1.知識結構梳理
2.重要公式推導
知識結構梳理
概念的引入
當函數\(f(x)\)很復雜的時候,用一個簡單易算的函數\(p(x)\)近似,其中\(p(x)\)是用一系列節點和節點處的函數值構造出來的:
一個區間范圍插入\(n+1\)個點 \(x_0,x_1...x_n\)得到\(n+1\)個函數值\(f(x_i)(i=0,1...n)\)
如果\(p(x)\)滿足:\(p(x_i)=f(x_i)(i=0,1..n),\)則稱\(p(x)\)為\(f(x)\)的\(n\)次插值函數,求\(p(x)\)的方法稱為插值法
\(p(x)\)常為多項式
幾個重要的插值法
拉格朗日插值
從一次插值開始,到二次插值,再推廣至n次
均差與牛頓插值
樣條插值
公式推導
拉格朗日插值:基函數法
- 一次插值:
兩個插值節點:\((x_0,y_0),(x_1,y_1)\)用點斜式\(l(x)=y_0+\frac{y_1-y_0}{x_1-x_0}(x-x_0)\)
整理一下得到
\(l(x)=y_0\frac{x-x_1}{x_0-x_1}+y_1\frac{x-x_0}{x_1-x_0}\)
令\(l_0=\frac{x-x_1}{x_0-x_1}\quad l_1=\frac{x-x_0}{x_1-x_0}\)
將公式進一步簡化:
\[l_1(x)= \sum_{i=0}^{1} {l_iy_i} \]
其中\(l_i\)就是所謂的基函數。
2.二次插值:和一次相同的方法得到
\[l_2(x)= \sum_{i=0}^{2} {l_iy_i} \]
對於其中基函數\(l_i\)的求法一開始反應不過來,看了PPT才恍然大悟 因為對於插值函數
肯定要滿足:
\(l_2(x_j)=y_j (j=0,1,2)\)
將\(y_j\)的三個值分別代入,顯然可以得到:
\(l_2(x_0)=y_0\)
\(l_2(x_1)=y_1\)
\(l_2(x_2)=y_2\)
可以看出在插值函數表達式中,只有和x下標相同的那項被保留了下來。由此可推出:
\(l_0(x_0)=1, l_0(x_1)=0, l_0(x_2)=0\)
\(l_1(x_0)=0, l_1(x_1)=1, l_1(x_2)=0\)
\(l_2(x_0)=0, l_2(x_1)=0, l_2(x_2)=1\)
滿足上面這些條件,求基函數顯然變簡單了,例如求\(l_0\)可設$$l_0(x)=A_0(x-x_1)(x-x_2)$$將\(x_0\)代入這個式子,可以求出
\(A_0=\frac{1}{(x_0-x_1)(x_0-x_2)}\)
\(l_0(x)=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}\)
同理可以求得\(l_1(x),l_2(x)\)
3.n次插值
這一部分已經不大記得清了,當時推導也花了近一節課,最終公式如下:
其中:
注意此公式的分子不含\((x-x_i)\)項
推導過程就不寫了,也記不得了,回頭再加上.....
2020.4.2更新 :
今天翻筆記本,發現了之前的推導筆記,喜出望外——不用再重新推導一遍了,特來更新一波~
對於n次插值基函數\(l_i\)的表達式,其實可以從一次,二次表達式中歸納出來,相信讀者是和我一樣想的,但是為了保持嚴謹,還是一步一步推導吧!
先補充說明一下,這里\(l_i(x_j)\)有個專門的叫法:拉氏基函數,滿足條件:
顯然每個\(l_i\)都有\(不含x_i的n\)個根:
可設
由\(l_i(x_i)=1\),得$$A_i=\frac{1}{\prod_{j≠i,j=0}^{n}(x_i-x_j)}$$
代入上面\(l_i\)的公式得:
現在已經推導出\(l_i\)的表達式了,把它代入插值函數
引入一個記號
不含(x-x_i)項,這里容易誤解,明明是n個點,為什么\(\omega\)的下標是n+1?也許兩者之間並無關聯吧,
emmm...是筆者理解錯誤,后面求導時發現的,額...繼續往下做,話說當老師講到引入這個記號時,筆者心想大概就是要將\(L_n(x)\)的表達式轉換成含\(\omega_{n+1}(x)\)的形式了,只是不知道有什么用...繼續繼續,第一步是對
\(\omega_{n+1}(x)\)求一階導,根據求導的定義,分別對這n+1項求導,有:
顯然\(\omega'_{n+1}(x)\)的這個式子有\(n+1\)項
好了,第二步:將\(x=x_i\)代入上式,所有含\((x-x_i)\)的項都化為0
原式化為:
可以看出只有對\((x-x_i)\)一項求導的留了下來。
從而推出
最終n次插值函數\(L_n(x)\)的表達式為:
推導完成!
寫在最后
這篇文章花費了遠超預計的時間,主要是用手機打latex公式太慢了,另外還有排板,好在總算完成了,數值分析有點復雜,但是只要努力就一定能學好,加油~