靳海娟
(長(zhǎng)治學(xué)院 數(shù)學(xué)系,山西 長(zhǎng)治 046011)
《數(shù)值分析》(Numerical Analysis)是大學(xué)數(shù)學(xué)教學(xué)的必修課程。為了達(dá)到理想的教學(xué)效果,借助MATLAB軟件以實(shí)驗(yàn)課的形式輔助教學(xué)越來(lái)越常見(jiàn)。MATLAB是目前世界上最為通用的數(shù)學(xué)和工程計(jì)算軟件之一,尤其是在《數(shù)值分析》課程的算法實(shí)現(xiàn)方面,發(fā)揮著巨大的作用。
x0,x1,x2,…,xn為[a,b]上 n+1個(gè)互不相同的點(diǎn),f(x)為定義在區(qū)間[a,b]上的函數(shù),準(zhǔn)為給定的一個(gè)函數(shù)類(lèi),若準(zhǔn)上有函數(shù)φ(x),滿(mǎn)足
則稱(chēng) x0,x1,x2,…,xn為插值節(jié)點(diǎn),φ(x)為插值函數(shù),f(x)為被插函數(shù),這種求函數(shù)近似式的方法稱(chēng)為插值法[6]。
2.2.1 Lagrange插值法
先構(gòu)造 Lagrange插值基函數(shù) li(x)(i=0,1,2,…,n),它的次數(shù)不超過(guò)n,且滿(mǎn)足
然后以對(duì)應(yīng)點(diǎn)處的函數(shù)值為系數(shù)作線(xiàn)性組合,即得所要求的多項(xiàng)式,由多項(xiàng)式li(x)有n個(gè)根xj(j=0,1,…,i-1,i+1,…,n)故它必有如下形式:
n次Lagrange插值多項(xiàng)式的Ln(x)的公式為:
余項(xiàng)為
ξ 介于 x與節(jié)點(diǎn) x0,x1,…,xn之間。
2.2.2 牛頓插值法
設(shè)有函數(shù)f(x),x0,x1,x2,…,xn為一系列互不相等的點(diǎn),
k=1,2,…,n為f(x)關(guān)于節(jié)點(diǎn)x0,xk的1階差商,
(k=1,2,…,n)為f(x)關(guān)于節(jié)點(diǎn)x0,x1,xk的二階差商。
一般的若定義了k-1階差商,則稱(chēng)
其中Newton插值公式為:
注意:由插值多項(xiàng)式的唯一性定理可知,Nn(x)=Ln(x)為f(x)關(guān)于節(jié)點(diǎn)x0,x1,x2,…,xn的Lagrange插值多項(xiàng)式。
2.2.3 分段線(xiàn)性插值法
分析插值結(jié)果可以發(fā)現(xiàn),實(shí)線(xiàn)為原函數(shù)f(x),在[-5,-4]和[4,5]部分,L10(x)比L5(x)效果更差,這種高階插值的振蕩現(xiàn)象稱(chēng)為Runge現(xiàn)象。避免高階插值Runge現(xiàn)象的基本有效方法是使用分段函數(shù)進(jìn)行分段插值。
對(duì)給定的區(qū)間[a,b]作分割(一般選擇等分):a=x0<x1<x2<…<xn=b 在每個(gè)小區(qū)間 [xi,xi+1]上作f(x)以xi,xi+1為節(jié)點(diǎn)的線(xiàn)性插值,記這個(gè)線(xiàn)性插值函數(shù)為si(x),則
于是就得到了分段線(xiàn)性插值函數(shù)。記為P(x),P(x)有如下特點(diǎn):
圖1 高階插值的Runge現(xiàn)象
P(x)∈C[a,b]。
P(x)在[xi,xi+1]上為一個(gè)不高于一次的多項(xiàng)式。
在漁業(yè)評(píng)估的問(wèn)題中,往往要求解體長(zhǎng)與體重的關(guān)系。下面我們分別運(yùn)用Lagrange插值法,Newton插值法和分段線(xiàn)性插值法對(duì)該問(wèn)題進(jìn)行分析研究?;舅枷肴缦拢?/p>
把測(cè)量次數(shù)確定為j=0,1,…,n時(shí),測(cè)量同一種不同大小的魚(yú)類(lèi)樣品對(duì)應(yīng)的體長(zhǎng)與體重?cái)?shù)據(jù)(xj,yj),其中xj表示第j條魚(yú)的體長(zhǎng),yj表示第j條魚(yú)的體重,即求n次多項(xiàng)式Pn(x),使?jié)M足條件:
xj為插值節(jié)點(diǎn)。已知一組魚(yú)體長(zhǎng)與體重的實(shí)測(cè)結(jié)果如下表1所示。
表1 北部灣藍(lán)圓鱔體長(zhǎng)和體重的的實(shí)測(cè)結(jié)果
取四個(gè)節(jié)點(diǎn) x0,x1,x2,x3。分別用 Lagrange插值,Newton插值,分段線(xiàn)性插值法進(jìn)行插值,構(gòu)造3階插值多項(xiàng)式與原函數(shù)進(jìn)行比較,分析各個(gè)插值多項(xiàng)式與原函數(shù)的接近程度。
表2 節(jié)點(diǎn)表
由此可得Lagrange插值多項(xiàng)式:
Newton插值多項(xiàng)式:
其中
表3 3階差商
由L3(x)與N3(x)的計(jì)算結(jié)果可知L3(x)=N3(x),也正驗(yàn)證了插值多項(xiàng)式的唯一性這一結(jié)論。下面用MATLAB作圖比較Lagrange插值多項(xiàng)式與原函數(shù)的接近程度,進(jìn)而分析Lagrange插值法的插值效果,結(jié)果如圖3所示。
圖2 Lagrange插值與原函數(shù)圖像比較
圖3 分段線(xiàn)性插值與原函數(shù)作圖比較
由運(yùn)行結(jié)果可知,實(shí)線(xiàn)為原函數(shù)f(x),虛線(xiàn)為L(zhǎng)agrange插值多項(xiàng)式L3(x)或Newton插值多項(xiàng)式N3(x)。分析插值結(jié)果可以發(fā)現(xiàn),Lagrange插值法的插值效果符合要求。
(3)分3段線(xiàn)性插值多項(xiàng)式
下面用MATLAB作圖比較分段線(xiàn)性插值多項(xiàng)式與原函數(shù)的接近程度,進(jìn)而分析分段線(xiàn)性插值法的插值效果。
由圖2,圖3可知,實(shí)線(xiàn)為f(x),虛線(xiàn)為P(x),且分段線(xiàn)性插值多項(xiàng)式P(x)的S2(x)與原函數(shù)完全重合,從圖2和圖3對(duì)比可以看出:用分段線(xiàn)性插值法比Lagrange插值法更接近原函數(shù)。
則有以下結(jié)論:已知魚(yú)的體長(zhǎng)估測(cè)其體重時(shí),運(yùn)用Lagrange插值法和Newton插值法結(jié)果是相同的,但從其多項(xiàng)式表達(dá)式上講,Newton插值要比Lagrange插值簡(jiǎn)單。在運(yùn)用Lagrange插值法時(shí),要注意插值節(jié)點(diǎn)個(gè)數(shù)的選擇,當(dāng)節(jié)點(diǎn)選擇過(guò)多時(shí),高次多項(xiàng)式雖然是連續(xù)的,但是很多情況下不一定收斂,甚至可能會(huì)產(chǎn)生Runge現(xiàn)象。而分段線(xiàn)性插值則因?yàn)樵诿恳恍^(qū)間上都是線(xiàn)性插值,從而極大地降低了插值多項(xiàng)式的次數(shù),克服了Lagrange值法當(dāng)節(jié)點(diǎn)不斷加密時(shí)出現(xiàn)的Runge現(xiàn)象。它的缺點(diǎn)是所求的插值函數(shù)的光滑性較差,這就要求一種更好的方法來(lái)克服這一缺點(diǎn)。