數(shù)值計算實習報告-牛頓插值算法(高分)_第1頁
數(shù)值計算實習報告-牛頓插值算法(高分)_第2頁
數(shù)值計算實習報告-牛頓插值算法(高分)_第3頁
數(shù)值計算實習報告-牛頓插值算法(高分)_第4頁
數(shù)值計算實習報告-牛頓插值算法(高分)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、安徽工業(yè)大學數(shù)理科學與工程學院數(shù)值計算實習 -牛頓插值算法姓 名: 班 級: 學 號: 指導老師: 2014年6月23日星期一安徽工業(yè)大學數(shù)理科學與工程學院-數(shù)值計算實習目 錄1.提出問題22.實驗目的:23.基礎概念:23.1牛頓插值多項式的原理23.2均差(差商)及其性質43.3牛頓插值公式及其余項的公式:54.算法設計55. Matlab程序實現(xiàn)及應用65.1舉例應用65.2命令執(zhí)行圖:86.結果分析9參考文獻9附錄一:牛頓插值的MATLAB實現(xiàn)10附錄二:誤差的Matlab實現(xiàn)10附錄三:生成圖像101.提出問題上學期通過對數(shù)值分析的學習,我們知道可以用插值法求一個待定函數(shù)來近似反映函

2、數(shù)的特性,使得待定函數(shù)在給定點上等于函數(shù)值,在其它點上的函數(shù)的值作為函數(shù)的近似值。利用差值函數(shù)很容易得到Lagrange插值多項式,公式結構緊湊,在理論分析中甚為方便。而由Lagrange插值多項式的插值基函數(shù):可知其公式中的每一項與所有的插值結點有關.因此,Lagrange 插值雖然易算,但若要增加一個節(jié)點時,全部基函數(shù) 都需重新算過,計算量太大,在實際計算中十分不利,為了克服這一缺點,于是產生了Newton插值法。2.實驗目的:通過對牛頓插值多項式的Matlab程序實現(xiàn),深入了解牛頓插值多項式的原理及編程解決實際問題的能力。3.基礎概念: 3.1牛頓插值多項式的原理我們知道兩點直線公式有:

3、我們考慮點斜式,兩點為((x,y)(x,y)),則直線方程為:那么,在此基礎上增加一個節(jié)點(x2,y2),則過這三個點的插值多項式就是:c(x)應該是一個二次多項式。根據(jù)插值條件有根據(jù)插值條件:可以求出:重新寫P2(x):有3.2均差(差商)及其性質定義:一階均差二階均差n+1階均差均差均有如下的基本性質:(2) k 階差商關于節(jié)點是對稱的,或者說均差與節(jié)點順序無關,即均差表一階差商二階差商三階差商四階差商3.3牛頓插值公式及其余項的公式:newton插值多項式的表達式如下:其中每一項的系數(shù)ci的表達式如下:即為f (x)在點處的i階差商,(,),由差商的性質可知:則有: 其中4.算法設計:牛

4、頓插值法利用函數(shù)在某區(qū)間中若干點的函數(shù)值,作出牛頓插值多項式,在這些點上取已知值,在區(qū)間的其他點上用牛頓插值多項式的值作為函數(shù)的近似值。1 輸入值及(;要計算的函數(shù)點。2 對給定的由計算的值。3輸出。4. 利用輸出誤差的表達式。5. Matlab程序實現(xiàn)及應用利用Matlab可以實現(xiàn)牛頓插值的求解、均差、誤差,多項式系數(shù),并可以通過生成Matlab圖像直觀地描述原函數(shù)圖像與牛頓插值的比較,具體源代碼見附錄。5.1舉例應用(改自于數(shù)值分析教材P48第2題)例:給出f(x)=lnx的數(shù)值如表所示, x0.40.5 0.60.70.8lnx-0.916291-0.693147-0.510826-0.

5、356675-0.223144(1) 列出差商表,構造牛頓插值多項式并求ln0.54的值。(2) 估計ln0.54誤差分析:由牛頓插值的算法,運用Matlab建立newtoncz.m和wucha.m文件,具體代碼分別見附錄一(牛頓插值的MATLAB實現(xiàn))和附錄二(誤差的Matlab實現(xiàn))由表可知:x0=0.4, x1=0.5, x2=0.6, x3=0.7, x4=0.8,函數(shù)值:y0=-0.916291,y1=-0.693147,y2=-0.510826,y3=-0.356675,y4=-0.223144所以運用Matlab求解過程如下:(1)在matlab中輸入如下命令: clearX=0

6、.4,0.5,0.6,0.7,0.8;Y= -0.916291, -0.693147, -0.510826, -0.356675, -0.223144;A,C,P=newtoncz(X,Y)f=polyval(C,0.54)得出運行結果:A = -0.9163 0 0 0 0 -0.6931 2.2314 0 0 0 -0.5108 1.8232 -2.0412 0 0 -0.3567 1.5415 -1.4085 2.1088 0 -0.2231 1.3353 -1.0310 1.2583 -2.1263C = -2.1263 6.7866 -9.0104 6.9856 -2.6488P =

7、-(1196972338462113*x4)/562949953421312+(1910253385694983*x3)/281474976710656-(5072397223433071*x2)/562949953421312+(3932520207496857*x)/562949953421312-2982240889048293/1125899906842624 f = -0.6161所以,由程序運行結果得:差商表A如下: 差商表一階差商二階差商三階差商四階差商0,4-0.91630.5-0.69312.23140.6-0.51081.8232-2.04120.7-0.35671.541

8、5-1.40852.10880.8-0.22311.3353-1.03101.2583-2.1263牛頓插值多項式P為:P(x)=-2.1263x4+6.7866x3-9.0104x2+6.9856x-2.6488ln0.54的值為:f(0.54)=ln0.54=f=-0.6161(2)在matlab中輸入如下命令: f=-0.6161;x=0.54;X=0.4,0.5,0.6,0.7,0.8;R=wucha(f,x,X)得出運行結果:R = -7.1763e-08所以,由程序運行結果可知:估計ln0.54誤差為:R(x)=-R=7.176310-8可見誤差非常的小,在允許的范圍之內一般不影響

9、結果。5.2命令執(zhí)行圖:通過Matlab程序實現(xiàn)牛頓插值多項式和f(x)=lnx的圖像,便于直觀地表示出來。在Matlab中輸入附錄三程序得如下圖形:圖像對照牛頓插值多項式由上述圖像可見:兩條曲線慢慢逼近,當x0.4時,兩條曲線基本重合,說明Matlab求出的牛頓插值多項式準確無誤,且誤差非常的小。6.結果分析本程序給出了計算牛頓插值多項式的函數(shù),通過調用函數(shù)可以求得牛頓多項式與待估算點的值,作出了節(jié)點及待求多項式的函數(shù)圖像,能夠比較清晰的通過圖像顯示出來,總體來說,計算結果是比較理想的,達到了我們的目的。通過Matlab程序求解上述例題,得出的牛頓插值多項式的系數(shù)C與答案一致。同時求出插值多

10、項式的表示P,即:P(x)=-2.1263x4+6.7866x3-9.0104x2+6.9856x-2.6488的表示結果一樣。求出ln0.54的值即:f=-0.6161 。誤差的求解遵循了牛頓插值多項式的誤差公式,把f值代入即可求出誤差R的值。由命令執(zhí)行圖可以直觀看出,由Matlab生成的牛頓插值多項式是正確無誤的,達到了理想效果。多項式在區(qū)間0.4,0.8周圍與原函數(shù)逼近的較好. 兩條曲線基本重合,離這個區(qū)間越遠與原函數(shù)的誤差越大,該圖像就越背離圖像。同時我們可以得出若節(jié)點越多,函數(shù)逼近的則相對較好。在節(jié)點附近逼近的越好,越遠離節(jié)點誤差越大,所以公式適用于計算節(jié)點附近的值于是為了減小誤差。

11、本實驗通過MATLAB編程實現(xiàn)求解牛頓K次插值多項式,能加深對牛頓插值法的基本思路和步驟的理解。同時也加深了對均差的概念及其性質的理解。牛頓插值法正是應用均差的性質,克服了拉格朗日插值法的主要缺點。參考文獻數(shù)值分析(第五版) 李慶揚、王能超、易大義編 清華大學出版社數(shù)值分析(第七版 影印版) Richard L. Burden、J.Douglas Faires 高等教育出版社 MATLAB程序設計 王建衛(wèi) 取中水 凌賓MATLAB數(shù)值分析與應用 張德豐數(shù)值分析 黃明游 劉播 徐濤附錄一:牛頓插值的MATLAB實現(xiàn)求解插值多項式,返回均差、多項式的系數(shù)function A,C,P=newtonc

12、z(X,Y)%牛頓插值的MATLAB實現(xiàn) %這里 A為均值。C為牛頓插值多項式的系數(shù)構成的向量。P為牛頓插值多項式表示。 %這里 X為n個節(jié)點的橫坐標所組成的向量,Y為縱坐標所組成的向量。n=length(X); %取X得個數(shù)A=zeros(n,n); %構成nn空數(shù)組A(:,1)=Y;for j=2:n for i=j:n A(i,j)=(A(i,j-1)-A(i-1,j-1)/(X(i)-X(i-j+1); endendC=A(n,n);for k=(n-1):-1:1 C=conv(C,poly(X(k); % conv求積,poly(x)將該多項式的系數(shù)賦給向量。 d=length(C); C(d)=C(d)+A(k,k);endP=poly2sym(C);附錄二:誤差的Matlab實現(xiàn)求解牛頓插值多項式誤差function R=wucha(f,x,X)n=length(X);r=1;q=1;for i=1:n; r=i*r; q=(x-X(i)*q;endR=f*abs(q)/r;附錄三:生成圖像在同一個面框內顯示ln(x)與牛頓插值多項式的圖像x=0:1/10000:1;y=log(x);plot(x,y,b)gtext(ln(x)的圖像);h

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論