關于幾種插值多項式的比較分析【畢業(yè)論文,絕對精品】_第1頁
關于幾種插值多項式的比較分析【畢業(yè)論文,絕對精品】_第2頁
關于幾種插值多項式的比較分析【畢業(yè)論文,絕對精品】_第3頁
關于幾種插值多項式的比較分析【畢業(yè)論文,絕對精品】_第4頁
關于幾種插值多項式的比較分析【畢業(yè)論文,絕對精品】_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 本科生畢業(yè)論文開 題 報 告 書題 目 插值方法及其MATLAB實現 學生姓名 盛克平 學 號 1209402023 系 別 數學與應用數學 專 業(yè) 信息與計算科學 指導教師 劉建國 講師 2015年 12 月 11 日目 錄摘 要IABSTRACTII引言- 1 -1 、幾種常見的插值公式及其構造- 1 -1.1 Lagrange插值法- 2 -1.2 Newton插值法- 3 -1.3 Hermite插值法- 5 -1.4 分段低次插值法- 6 -1.5 三次樣條插值法- 7 -2 、例題- 8 -3 、結束語- 12 -4、參考文獻- 13 -附錄1- 14 -附錄2- 14 -附錄3

2、- 15 -5、致謝:- 15 -l 摘 要 插值法是數值算法的最基本方法之一,同時也是函數逼近、數值積分、數值微分、微分方程數值解的基礎。許多實際問題都需要運用插值法來解決,所以通過介紹幾種常見的插值公式及其誤差估計,如:Lagrange插值公式、Newton插值公式、Hermite插值公式、分段低次插值公式、三次樣條插值公式。討論和比較它們的實用范圍和優(yōu)缺點。關鍵詞:數值分析 插值法 插值公式 誤差 MATLABABSTRACT Interpolation is one of the most basic method of numerical algorithm, but also th

3、e function approximation, numerical integration, numerical differentiation, numerical solution of differential equation based. Many practical problems need to solve by using the interpolation method, so the introduction of several common interpolation formula and error estimate, such as: Lagrange in

4、terpolation formula, Newton formula, Hermite formula of interpolation, piecewise low-order interpolation formula, three spline interpolation formula. Discuss and compare their application range and advantages and disadvantages.Keywords:Numerical analysis Method of interpolation Formula of interpolat

5、ion Error Matlab- 9 -引言 插值法是數值算法的最基本方法之一,同時也是函數逼近、數值積分、數值微分、微分方程數值解的基礎。在全球化、信息化浪潮大力推動下,計算機技術得到了迅速的發(fā)展。插值法也在生活、工程和科學研究中得到了更為廣泛的應用。比如在計算斷面的面積、漏磁探傷和曲線擬和等諸多實際問題中,有的函數雖然給出了解析表達式,但往往過于復雜而難以計算,使用不方便;有的函數只能給出它在平面上一些離散的點和這些點的函數值,而函數的具體解析表達式則不能給出,在這樣的情況下,選用近似函數來逼近函數。MATLAB集計算和繪圖等功能于一體,操作簡單易上手,在數學領域中具有非常重要的地位。在

6、插值法中MATLAB可以通過改變插值函數的參數,來實現不同的插值方式。本文對幾種插值法作歸納、總結并比較和討論幾種插值法的優(yōu)缺點,總結出規(guī)律,并給出具體算例及Matlab實現,以便進一步理解插值法,更好地運用其方法解決實際工程問題。1 、幾種常見的插值公式及其構造插值法是函數插值法的簡稱,它的基本思想是:構造一個簡單便于計算的函數去逼近原函數,通過計算逼近函數在某一點的值從而得到原函數在這一點的近似值,而求的方法就稱為插值法。下面給出插值函數的一般定義:定義:已知(可能未知或表達式非常復雜)是定義在區(qū)間上的函數,在這個區(qū)間上有個彼此不相同的點,且對應的函數值為。尋找一個簡單、便于計算的函數,使

7、滿足:通常稱為插值區(qū)間,為被插值函數,為插值函數,為插值節(jié)點。其中當是多項式時,稱為代數插值方法,即多項式插值。若設為誤差函數或余項,則有.而且滿足關系式: 1.1 Lagrange插值法已知Lagrange插值是為次多項式插值,首先考察低次的插值多項式。當時,要構造出過兩點與的多項式(次數不超過1次且),使得。則可以寫成: 它是兩個線性函數的線性組合,所以稱為線性插值多項式.當時,相應的構造出過三點的多項式(次數不超過2且),使得。則可寫成:式被稱為拋物線插值多項式。同理,當為插值節(jié)點時,有,則可寫成: 式被稱為Lagrange插值多項式.在,式子中,均為插值基函數,且滿足: ,即得.誤差估

8、計由定理形式給出:定理1.1.1 設為區(qū)間上互不相同的節(jié)點,且在內存在,滿足的插值多項式,則對,使得.還可寫成其截斷誤差:.其中,.Lagrange插值多項式的優(yōu)點是表達式簡單明確、便于推導、格式整齊規(guī)范;缺點是沒有承上啟下性和計算量大,即當需要增加、減少新的節(jié)點或節(jié)點位置變化時,就得從新計算所以的函數。在Matlab中,利用Lagrange插值方法進行多項式插值,并將圖形顯式出來 實現Lagrange插值的步驟如下: Step1 定義函數f = 1/(25*x2+1)將其保存在fm 文件中,具體程序如下: function y = f1(x) y = 1/(25x2+1); Step2 定義

9、拉格朗日插值函數,將其保存在lagrangem 文件中,具體實現程序 編程見附錄A. Step3 建立測試程序,保存在textM文件中,實現畫圖: x=-1:0.001:1; y=(1+25.*x.2).-1; p=polyfit(x,y,n); py=vpa(poly2sym(p),10); plot_x=-1:0.001:1; f1=polyval(p,plot_x); figure plot(x,y,'r',plot_x,f1) 輸入n=6時,出現如下面的圖2.1所示 圖2.1 Largange插值圖像 通過圖2.1可以看出當n=6時,被插圖像與插值圖像沒有很好的模擬,于

10、是重新運行textM,并選擇n=15,運行,顯示如圖2.2所示 圖2.2 Largange插值圖像 綜合圖2.1和圖2.2的Lagrange插值圖像可以看出,n=15時的被插圖像與插值圖像實現了很好的模擬 結果分析: 由圖2.1和圖2.2可以看出n的次數越高,越能實現較好的模擬,從而模擬的效果越好,從圖2.2就可以看出兩條曲線接近重合,而圖一兩條直線卻分開很多,誤差較大,精度也不高因此在實際的應用中應該盡量在給定的條件下增加n的次數,才能實現與原函數較好的重合,才能使計算的結果更加的準確,從而減小了誤差.1.2 Newton插值法在介紹Newton插值法之前,先來了解一下什么是差商?給定了函數

11、在節(jié)點處的函數值。那么有形如:,稱為函數關于節(jié)點處的一階差商。同理給出在節(jié)點處的函數值。則被稱為函數關于節(jié)點的階差商。所以可得到差商表如下所示:表1 差商表一階差商二階差商三階差商 由差商的定義可以得出:所以有: 其中:。即是過n+1個插值點的n階Newton插值多項式,為插值多項式誤差。由于次Newton插值多項式與次Lagrange插值多項式是恒等的,只是表達方式不同,即Newton插值多項式的余項和Lagrange插值多項式的余項相同:.當用Newton插值多項式計算較高次的插值時,只需添加一項對應的節(jié)點和在這節(jié)點處的計算即可,而表達式前面的計算仍然有效,從而節(jié)省了計算量。但是用Lagr

12、ange插值多項式計算較高次的插值時,在添加一項對應的節(jié)點和其計算時,表達式也要經過重新計算,計算量明顯的增大。所以Newton插值多項式在這一點上克服了承上啟下的問題。但隨著次數n的增大,其誤差不是很穩(wěn)定,所以Newton插值對高次插值是不可取的。%保存文件名為New_Int.m%Newton基本插值公式%x為向量,全部的插值節(jié)點%y為向量,差值節(jié)點處的函數值%xi為標量,是自變量%yi為xi出的函數估計值function yi=New_Int(x,y,xi)n=length(x);m=length(y);if n=merror('The lengths of X ang Y mus

13、t be equal!');return;end%計算均差表YY=zeros(n);Y(:,1)=y'for k=1:n-1for i=1:n-kif abs(x(i+k)-x(i)<epserror('the DATA is error!');return;endY(i,k+1)=(Y(i+1,k)-Y(i,k)/(x(i+k)-x(i);endend%計算牛頓插值公式y(tǒng)i=0;for i=1:nz=1;for k=1:i-1z=z*(xi-x(k);endyi=yi+Y(1,i)*z;end1.3 Hermite插值法定義:設在個不同的插值節(jié)點上,給定

14、,。要求一個次數不超過的多項式,使得滿足條件:,.則稱滿足這種條件的多項式為Hermite插值多項式。由于Hermite插值是帶有導數的插值法,所以在運用Hermite插值法時就必須知道在節(jié)點處的函數值和其導數值,且還要求它們相等.如表2所示,知道了節(jié)點處的函數值和其導數值:表2 節(jié)點數據表由表2可構造出一個次數不高于的多項式,則稱為Hermite插值多項式,即。其中,為插值基函數,則對,使得誤差函數或余項.Hermite插值多項式能夠克服插值函數在節(jié)點處不光滑、不可導的缺點.但是在運用Hermite插值公式計算不但要求在節(jié)點處的導數值相等,甚至高階導數也要求相等,條件太高. 。在 matla

15、b 中實現 Hermite 插值的代碼如下:functionh,yy=HermiteInt1(x,y,x1,y1,xx)%求 Hermite 插值.x 為插值節(jié)點,y 為相應的函數值;在節(jié)點 x1 的一階導數為 y1;xx 為插值點.%輸出 Hermite 插值函數的表達式 h,若輸入參數中有插值點 xx 時,再輸出 xx 相應的插值函數值 yy.n=length(x);m=length(x1);symstyy=0;for i=1:n%下面求 y(i)前的系數I=0;%下面這個循環(huán)是要找出 x(i)在數組 x1 中的位置 for j=1:mif x(i)=x(j) I=j; breakende

16、ndl1=1;l2=0; for j=1:nif j=i l1=l1*(t-x(j)/(x(i)-x(j); l2=l2+1/(x(i)-x(j);endendfor j=1:m if j=Il1=l1*(t-x1(j)/(x(i)-x1(j);l2=l2+1/(x(i)-x1(j);endendif I=0l2=0;endyy=yy+l1*(-l2*(t-x(i)+1)*y(i);endfor i=1:m%下面求 y1(i)前的系數l3=1;for j=1:nif x(j)=x1(i)l3=l3*(t-x(j)/(x1(i)-x(j);endend for j=1:mif x1(j)=x1(

17、i)l3=l3*(t-x1(j)/(x1(i)-x1(j);endendyy=yy+l3*(t-x1(i)*y1(i);end h=simplify(yy); if nargin=5yy=eval(subs(h,xx,t);end1.4 分段低次插值法在實際運用函數作插值多項式時,并不是插值多項式的次數越高,插值余項就越小,值就越精確。這時就出現了計算出來的值與真實值相差很大的問題,比如說常見的龍格現象.針對這類問題,通常采用分段低次多項式去分段被插函數。以下介紹常用的分段線性插值.設有n+1個節(jié)點,對應的函數值為.若記,有滿足: (1)屬于; (2); (3)在任一個小區(qū)間上,是線性多項式.

18、則稱為分段線性插值函數(其中).所以在每個小區(qū)間上,可表示為:誤差估計由定理給出:定理1.4.1 若,記,則對.有誤差函數或余項估計:.分段低次插值函數有很好的一致收斂性和穩(wěn)定性,它計算量小,在實際生活中用到是最廣的.但它的光滑性太差. 。1.5 三次樣條插值法 三次樣條插值法也是一種分段插值法。由于在許多實際問題中,用分段低次插值法去逼近函數,不僅要求被插函數的一階導數存在且連續(xù),而且二階導數也是一樣。所以引人三次樣條插值法就是為了克服這個缺點。設區(qū)間上有個節(jié)點,節(jié)點為,且這些節(jié)點的函數值分別為。現在假如存在一個分段函數,且 使得在以下條件:(1); (2)的二階導數在上連續(xù); (3)在每個

19、小區(qū)間為三次多項式.恒成立,其中(),則稱為三次樣條插值函數.誤差估計由定理給出:定理1.5.1 設,且記,則對,都有的誤差估計式:三次樣條插值函數它同樣具有良好的收斂性和逼近性,它在內節(jié)點處的二階導數是連續(xù)的,即曲線光滑。 2 、例題例1 給出自然對數和它的導數的數表如下: 表3 數據表0.400.500.700.80-0.9162912.50-0.6931472.00-0.3566751.43-0.2231441.25(1) 利用Lagrange插值公式求的近似值并估計誤差;(2) 利用Newton插值公式求的近似值并估計誤差;(3) 利用Hermite插值公式求的近似值并估計誤差. 分析

20、 本題有多種解法,除了要求的幾種方法外,還可以用待定系數法、逐次線性插值法求解. 解:(1)利用Lagrange插值公式,得用和作3次Lagrange插值多項式, 則把代入中得: 由于 即有 (2)利用Newton插值公式,得差商表如下 表4 差商表一階差商二階差商三階差商0.40-0.9162910.50-0.6931472.231440.70-0.3566751.6823575-1.8302750.80-0.2231441.33531-1.1568251.684375所以 把代入中得: (3) 利用Hermite插值公式得: 其中 把代入中得: 則 由于 所以注 本題的真解,由于相同次數的

21、Lagrange插值多項式和Newton插值多項式是恒等關系,只是它們的表達形式不同,所以用它們算出來的結果也應該相同。然而從例題中可以發(fā)現分別用Lagrange插值公式和Newton插值公式計算出來的結果了出現差異,那是因為計算的次數不同,舍入的誤差不同造成的。同時從例題中還可以看出用Hermite插值公式計算得出的結果遠比運用Lagrange插值公式和Newton插值公式得到的結果精確.例 2 給定一個函 ,現在給出等距離的插值節(jié)點,其中.分別試用Lagrange插值法、分段低次插值法、三次樣條插值法作出其圖像,并與原圖像相比較,再分析其差異. 解:首先用Lagrange插值法進行計算,當

22、時,在Matlab的中輸入命令見附錄1,得到以下圖像:圖1由圖1可以知道在運用高次Lagrange插值多項式逼近被插函數時,并不是插值多項式的次數越高越好,隨著節(jié)點的增多,用Lagrange插值法計算出來的結果與真實值相差就越大,其誤差也就越大,也就出現了發(fā)散的現象,這就是我們常說的龍格現象。 然后再在圖1的基礎上用分段插值法計算,并在Matlab上實現見附錄2,得出圖像如下:圖2由圖2中可以看出,用分段插值法計算出來的結果與真實值相差很小,所以分段插值法克服了高次Lagrange插值法的缺點,不但不會出現龍格的現象,也不會出現不收斂的現象。但是它還是具有插值精度低、節(jié)點處不光滑的缺點。 同理

23、運用三次樣條插值法計算,由Matlab得到以下圖像見附錄3: 圖3同樣由圖3中可以看出,三次樣條插值法不僅克服了高次Lagrange插值法的不收斂性,同時也克服了分段插值法的插值精度低、在節(jié)點處不光滑的缺點,即提高節(jié)點處的光滑性。3 、結束語本文討論了數值分析中幾種常見的插值法,知道了插值法在數值分析中的重要地位。分別介紹了各種插值法實用范圍和優(yōu)缺點,并通過例題論證了其結果,加深其印象.讓讀者能夠很好的估計誤差,使其最小.文中同時運用了Matlab解決問題,使其計算量大大的減少.也為人們在以后遇到需要用插值法解決的諸多實際問題的時候,提供一點參考資料。4、參考文獻1 韓旭里.數值計算方法M.復旦大學出版社,2008.2 關治,陸金甫.數值分析基礎M.北京:高等教育出版社,1998.3 黃友謙,李岳生.數值逼近M. 北京:高等教育出版社,1987.4 李慶揚,關治,白峰杉.數值計算原理M. 北京:清華大學出版社,2000.5 馬東升,雷勇軍.數值計算方法(第二版)M.機械工業(yè)出版社,2006.6 姜啟源,謝金星,葉俊.數學模型(第三版)M. 北京:高等教育出版社,2005.7 王德人,楊忠華.數值

溫馨提示

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

評論

0/150

提交評論