拉格朗日插值法課程設計_第1頁
拉格朗日插值法課程設計_第2頁
拉格朗日插值法課程設計_第3頁
拉格朗日插值法課程設計_第4頁
拉格朗日插值法課程設計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要插值法是函數(shù)逼近的一種重要方法,是數(shù)值計算的基本課題.數(shù)學上來說,拉格朗日插值法可以給出一個恰好穿過二維平面上若干個已知點的多項式函數(shù).Lagrange插值是n次多項式插值,其成功地用構(gòu)造插值基函數(shù)的方法,解決了求n次多項式插值函數(shù)問題.Lagrange插值的基本思想是將待求的n次多項式插值函數(shù)改寫成另一種表示方式,再利用插值條件確定其中的待定函數(shù),從而求出插值多項式. 拉格朗日插值法是一種很實用的插值方法,可以應用在漁業(yè)資源評估中、化學中、工程中、工業(yè)中、機械設計與制造領域,以及計算機方面.本課題意在將拉格朗日插值法應用到實際中,主要通過程序的編寫(有拉格朗日插值法的Matlab和C語言

2、實現(xiàn))將算法在計算機中實現(xiàn),求得相應的解.進一步體現(xiàn)拉格朗日插值法在解決問題時的實際意義. 關(guān)鍵詞 插值基函數(shù);插值多項式;Lagrange插值;算法 Abstract Interpolation function approximation is a kind of important method, numerical calculation is the basic subject.Mathematical speaking,Lagrange interpolation method can give a right through the two dimensional plane s

3、everal known point polynomial function.Lagrange interpolation is n times polynomial interpolation,which succeeded in structure interpolation basis function method,solve the on times polynomial interpolation function problem. Lagrange interpolation basic idea is to will stay for n times polynomial in

4、terpolation function rewritten into another means,reuse interpolation condition to determine the required function,so as to find out the interpolation polynomial.Lagrange interpolation method is a very practical interpolation method, can be used in fishery resources evaluation,chemistry,engineering,

5、 industry, mechanical design and manufacturing,and computers to.This topic will be Lagrange interpolation method was used to practice,mainly through the process of writing(with Lagrange interpolation method of Matlab and C language implementation)algorithm is realized in computer,get the correspondi

6、ng solution.Further reflected Lagrange interpolation method in solving problems of practical significance.Keywords interpolation basis function;Interpolation polynomial;Lagrange interpolation;algorithm目錄引言1第一章 拉格朗日插值法2 §1.1 基本概念2 §1.2 拉格朗日插值法2 §1.2.1 基函數(shù)2 §1.2.2拉格朗日插值公式3 §1.

7、2.3 余項與誤差估計4第二章 拉格朗日插值法的程序設計及應用8 §2.1拉格朗日插值法的Matlab實現(xiàn)8 §2.2拉格朗日插值法的C語言實現(xiàn)9 §2.2.1 流程圖9 §2.2.2 C語言編程10 §2.3 拉格朗日插值法的應用11 §2.3.1 在漁業(yè)資源評估上的應用11 §2.3.2 利用拉格朗日插值法解決傳熱過程中的導熱系數(shù)12參考文獻14附錄A15附錄B16 引言在數(shù)值分析中,拉格朗日插值法是以法國十八世紀數(shù)學家約瑟夫·路易斯·拉格朗日命名的一種多項式插值方法.約瑟夫·拉格朗日(Jo

8、seph Louis Lagrange),法國數(shù)學家、物理學家.他在數(shù)學、力學和天文學三個學科領域中都有歷史性的貢獻,其中尤以數(shù)學方面的成就最為突出.拉格朗日對流體運動的理論也有重要貢獻,提出了描述流體運動的拉格朗日方法.1795年,拉格朗日在其著作師范學校數(shù)學基礎教程中發(fā)表了這個插值方法,從此他的名字就和這個方法聯(lián)系在一起.數(shù)據(jù)建模有兩大方法:一類是插值方法,另一類是擬合函數(shù),一般的說,插值法比較適合數(shù)據(jù)準確或數(shù)據(jù)量小的情形.然而Lagrange插值有很多種,1階,2階,n階.我們可以利用拉格朗日插值求方程,根據(jù)它的程序求原方程的圖像.拉格朗日插值法可以找到一個多項式,其恰好在各個觀測的點取

9、到觀測到的值.實際問題中所遇到的許多函數(shù)很難找到它的解析表達式.有時通過實驗或數(shù)值計算所得到的也只是一些離散的(一般是互不相同)點(i=0,1,.,n)上的函數(shù)值,在實際應用中,一般將這些數(shù)據(jù)列成數(shù)據(jù)表格的形式.通常,將這種用數(shù)據(jù)表格形式給出的函數(shù)稱為列表函數(shù),其中點稱為結(jié)點.根據(jù)函數(shù)已有的數(shù)據(jù)表格來計算函數(shù)在一些新的點處的函數(shù)值,這就是插值法所要解決掉問題.插值法的基本思想是,首先設法根據(jù)表格中已有的函數(shù)值值來構(gòu)造一個簡單的函數(shù)作為的近似表達式,然后再用來計算新的點上的函數(shù)值作為的近似值.通常可以選多項式函數(shù)作為近似函數(shù),因為多項式具有各階導數(shù),求值也比較方便.本課題研究的是拉格朗日插值法的

10、程序設計,計算機實現(xiàn),以及拉格朗日插值法的應用.第一章 拉格朗日插值法§1.1 基本概念 下面介紹有關(guān)拉格朗日插值法的相關(guān)概念. 定義1.1 設函數(shù)在區(qū)間上有定義,且已知在點上的值,若存在一簡單函數(shù),使 (1.1)成立,就稱為的插值函數(shù),點稱為插值節(jié)點,包含插值節(jié)點的區(qū)間稱為插值區(qū)間,求插值函數(shù)的方法稱為插值法. 若是次數(shù)不超過n的代數(shù)多項式,即 其中為實數(shù),就稱為插值多項式,相應的插值法稱為多項式插值. 定義1.2 設給定數(shù)據(jù)點,(互異),欲找二者的近似關(guān)系,滿足(1)(2) 則稱為n次代數(shù)插值多項式. 定理1.1 滿足條件(1.1)的插值多項式是存在唯一的.直接求解方程組就可以得

11、到插值多項式,但這是求插值多項式最繁雜的方法,一般是不用的,下面將給出構(gòu)造插值多項式更簡單的方法.§1.2 拉格朗日插值法§1.2.1 基函數(shù) 為了構(gòu)造插值多項式,我們先定義插值基函數(shù).定義1.3 設是給定的彼此互異的個插值結(jié)點, 為給出的函數(shù)值,則是唯一的次數(shù)不超過的,滿足的多項式.其中為拉格朗日插值基函數(shù),為拉格朗日插值函數(shù).下面介紹基函數(shù)的性質(zhì). 性質(zhì)1.1 性質(zhì)1.2 性質(zhì)1.3 §1.2.2 拉格朗日插值公式 定理1.2 n次代數(shù)插值問題的解為 稱為拉格朗日插值多項式. 特殊化,得到如下插值公式. (1)線性插值 設已知,及=f() ,=f(),為不超過

12、一次多項式,且滿足 =,=, 幾何上,為過(,),(,)的直線,從而得到 . (1.2) 為了推廣到高階問題,我們將式(1.2)變成對稱式 =(x)+(x).其中,(x)=,(x)=.均為1次多項式且滿足(x)=1且(x)=0.或(x)=0且(x)=1.兩關(guān)系式可統(tǒng)一寫成. (1.3) (2)拋物線插值 假定插值結(jié)點為,要求拋物線插值(即二次插值)多項式,使它滿足 我們知道在幾何上就是通過三點,的拋物線.為了求出的表達式,可采用基函數(shù)法,此時基函數(shù)及是二次函數(shù),且在節(jié)點上分別滿足條件 (1.4) 滿足條件(1.4)的插值基函數(shù)是很容易求出的,例如求,因它有兩個零點及,故可表示為 ,其中A為待定

13、系數(shù),可由條件定出,于是.同理可得,. 利用二次插值基函數(shù),立即得到二次插值多項式, (1.5)顯然,它滿足條件.將上面求得的,代入(1.5)式,得.§1.2.3余項與誤差估計 拉格朗日插值用來求n個節(jié)點的(n-1)次插值多項式,它就是線性插值和拋物線插值的推廣和延伸.我們設有n個節(jié)點,則拉格朗日插值的表達式表示為: 若在上用近似,則其截斷誤差為,也稱為插值多項式的余項.關(guān)于插值余項估計有以下定理.下面的定理說明了用插值多項式近似代替函數(shù)時的余項. 定理1.3 (余項定理) 設在上連續(xù),在內(nèi)存在,節(jié)點,是滿足條件的插值多項式,則對任何,插值余項, (1.6)這里且依賴于,.這里需要說

14、明如下兩點.(1) 在插值多項式的余項公式中,包含有,其中,一般與插值結(jié)點以及插值點有關(guān),因此,一般是無法知道的,這就對余項的估計帶來了困難.(2) 由插值多項式的余項公式可以看出,當被插值的函數(shù)為次數(shù)不高于的多項式時,其次插值多項式就是它本身,因為此時,即余項為0. 應當指出,余項表達式只有在的高階導數(shù)存在時才能應用.在內(nèi)的具體位置通常不可能給出,如果我們可以求出,那么插值多項式逼近的截斷誤差限是. 當時,線性插值余項為 當時,拋物線插值的余項為 利用余項表達式(1.6),當時,由于,于是有由此得 (1.7)特別當時,有 (1.8)(1.7)式和(1.8)式也是插值基函數(shù)的性質(zhì),利用它們還可

15、求一些和式的值. 例1 已知函數(shù)表sin=0.5000,sin=0.7071,sin=0.8660,分別由線性插值與拋物插值求sin的數(shù)值解,并由余項公式估計計算結(jié)果的精度. 解(1)這里有三個節(jié)點,線性插值需要兩個節(jié)點,根據(jù)余項公式,我們選取前兩個節(jié)點,易知:sin()=0.5000+(-) =0.5000+0.2071=0.6381 截斷誤差,=, 得知結(jié)果至少有1位有效數(shù)字. (2)易知 sin0.7071+ =0.8660=0.6434 .截斷誤差為:得知結(jié)果至少有兩位數(shù)字. 比較本題精確解sin0.642787609.,實際誤差限分別為0.0047和0.00062. 第二章 拉格朗日

16、插值法的程序設計及應用 §2.1 拉格朗日插值法的Matlab實現(xiàn) 在Matlab中,利用Lagrange插值方法進行多項式插值,并將圖形顯式出來 實現(xiàn)Lagrange插值的步驟如下: Step1 定義函數(shù)f = 1/(25*x2+1)將其保存在fm 文件中,具體程序如下: function y = f1(x) y = 1/(25x2+1); Step2 定義拉格朗日插值函數(shù),將其保存在lagrangem 文件中,具體實現(xiàn)程序 編程見附錄A. Step3 建立測試程序,保存在textM文件中,實現(xiàn)畫圖: x=-1:0.001:1; y=(1+25.*x.2).-1; p=polyfi

17、t(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時,出現(xiàn)如下面的圖2.1所示 圖2.1 Largange插值圖像 通過圖2.1可以看出當n=6時,被插圖像與插值圖像沒有很好的模擬,于是重新運行textM,并選擇n=15,運行,顯示如圖2.2所示 圖2.2 Largange插值圖像 綜合圖2.1和圖2.2的Lagrange插值圖像可以看出,n=15時的被插圖像與插值圖像實現(xiàn)了很好的模擬 結(jié)果分析: 由圖2.1

18、和圖2.2可以看出n的次數(shù)越高,越能實現(xiàn)較好的模擬,從而模擬的效果越好,從圖2.2就可以看出兩條曲線接近重合,而圖一兩條直線卻分開很多,誤差較大,精度也不高因此在實際的應用中應該盡量在給定的條件下增加n的次數(shù),才能實現(xiàn)與原函數(shù)較好的重合,才能使計算的結(jié)果更加的準確,從而減小了誤差.§2.2 拉格朗日插值法的C語言實現(xiàn)在Visual C+中,用C語言實現(xiàn)拉格朗日插值.§2.2.1 流程圖要用C語言實現(xiàn)拉格朗日插值,先畫出流程圖. 程序流程圖: 開始輸入已知點個數(shù)n 輸入已知點的X坐標以及輸入已知點的Y坐標調(diào)用函數(shù)lagrange函數(shù) 輸出結(jié)果 圖2.3 流程圖§2.

19、2.2 C語言編程 用C語言編程的步驟如下: Step1定義拉格朗日插值算法; Step2 int n;如果n>=20或n<=0,則輸出"Error!The value of n must in (0,20)." for i:=0 to n-1輸入x和y的值 Step3輸出根據(jù)給定的點求出其對應的拉格朗日插值多項式的值 .舉例如下: 已知當x=1,-1,2時f(x)=0,-3,4,求f(1.5)的值.源程序見附錄B.運行結(jié)果如下: 圖2.4 截屏 §2.3 拉格朗日插值法的應用 拉格朗日插值法可以應用在各個方面.§2.3.1 在漁業(yè)資源評估上

20、的應用: 應用拉格朗日插值法擬合魚類體長與體重之間的關(guān)系,使用計算機VB語言進行編寫程序,與常用的線性回歸法、Ricker法進行比較,得出體長與體重的關(guān)系式為 在資源評估過程中,當測量次數(shù)確定為時,將測量到同一種不同大小的魚類樣品對應的體長與體重數(shù)據(jù),其中表示第條魚的體長,表示第條魚的體重,即求作次多項式,使?jié)M足條件 (2.1)點(它們互不相同,若在測量中有相同的體長值歸為一組數(shù)值)稱為插值節(jié)點.用幾何的語言來表達這類插值,就是通過體長與體重關(guān)系曲線上給定的個點,求作一條次代數(shù)曲線作為的近似.解決這個問題時先從構(gòu)造插值基函數(shù)入手,這里的插值基函數(shù)是次多項式,且滿足條件 (2.2) 這表明除以外

21、的所有節(jié)點都是的零點,故 , (2.3)按(2.2)式中的第2個條件確定其中的系數(shù),結(jié)果有 (2.4)利用插值基函數(shù)容易得出方程(2.1)的解 (2.5)通過這個方程,我們可以從同一種魚類對應體長求得相應較為精確的近似體重.§2.3.2 利用拉格朗日插值法解決傳熱過程中的導熱系數(shù) 化學工程手冊中通常給出的導熱系數(shù)是離散數(shù)據(jù),而此數(shù)據(jù)誤差較大1為了減小導熱系數(shù)的誤差,我們可采用拉格朗日插值法求得準確度較高的導熱系數(shù).以苯為例,求160下的值. 表2-1不同溫度下苯的導熱系數(shù) 根據(jù)表2-1中所給出的值,可確定為共有5個節(jié)點,能構(gòu)造4次插值函數(shù).首先構(gòu)造,而,故,則,同理可構(gòu)造求得0.95

22、92;這樣,4次插值函數(shù)為=0.0235. 也就是說用拉格朗日插值法求得苯在160下的導熱系數(shù)為0.0235. 拉格朗日插值法還可以應用在基于拉格朗日插值法修正地形影響的分布式降水模型研究中,基于質(zhì)心拉格朗日插值的GPS軌道標準化方法,基于高維拉格朗日插值法的三坐標測量機測量誤差建模,基于拉格朗日插值的射線圖像增強技術(shù),基于拉格朗日插值的參數(shù)曲線隱式化等方面. 參考文獻 1Jhon H. Mathews Kurtis D.Fink .數(shù)值方法(MATLAB版).電子工業(yè)出版社.2002年2關(guān)治.數(shù)值計算方法.清華大學大學出版社.2005年3徐士良.數(shù)值方法與計算機實現(xiàn)M.清華大學出版社.201

23、0年4李慶揚.數(shù)值分析M.北京:清華大學出版社.2008年附錄A Matlab編程funtion y=lagrange(x0,y0,x) m= length(x); n=length(x0) for i=1:n l(i)=1 end for i=1:m for j=1:n for k=1:n if j=k continue end l(j)=(x(i)-x0(k)/(x0(j)-x0(k)*l(j); end end end y=0 for i=1:n y = y0(i)*l(i)+y End附錄B C語言編程#include <iostream> #include <conio.h> #include <malloc.h> float lagrange(float *x,float *y,float xx,int n) /*拉格朗日插值算法*/ int i,j; float *a,yy=0.0; /*a作為臨時變量,記錄拉

溫馨提示

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

評論

0/150

提交評論