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

下載本文檔

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

文檔簡介

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

2、實(shí)現(xiàn))將算法在計(jì)算機(jī)中實(shí)現(xiàn),求得相應(yīng)的解.進(jìn)一步體現(xiàn)拉格朗日插值法在解決問題時(shí)的實(shí)際意義. 關(guān)鍵詞 插值基函數(shù);插值多項(xiàng)式;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 余項(xiàng)與誤差估計(jì)4第二章 拉格朗日插值法的程序設(shè)計(jì)及應(yīng)用8 §2.1拉格朗日插值法的Matlab實(shí)現(xiàn)8 §2.2拉格朗日插值法的C語言實(shí)現(xiàn)9 §2.2.1 流程圖9 §2.2.2 C語言編程10 §2.3 拉格朗日插值法的應(yīng)用11 §2.3.1 在漁業(yè)資源評估上的應(yīng)用11 §2.3.2 利用拉格朗日插值法解決傳熱過程中的導(dǎo)熱系數(shù)12參考文獻(xiàn)14附錄A15附錄B16 引言在數(shù)值分析中,拉格朗日插值法是以法國十八世紀(jì)數(shù)學(xué)家約瑟夫·路易斯·拉格朗日命名的一種多項(xiàng)式插值方法.約瑟夫·拉格朗日(Jo

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

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

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

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

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

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

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

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

16、插值法的程序設(shè)計(jì)及應(yīng)用 §2.1 拉格朗日插值法的Matlab實(shí)現(xiàn) 在Matlab中,利用Lagrange插值方法進(jìn)行多項(xiàng)式插值,并將圖形顯式出來 實(shí)現(xiàn)Lagrange插值的步驟如下: Step1 定義函數(shù)f = 1/(25*x2+1)將其保存在fm 文件中,具體程序如下: function y = f1(x) y = 1/(25x2+1); Step2 定義拉格朗日插值函數(shù),將其保存在lagrangem 文件中,具體實(shí)現(xiàn)程序 編程見附錄A. Step3 建立測試程序,保存在textM文件中,實(shí)現(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時(shí),出現(xiàn)如下面的圖2.1所示 圖2.1 Largange插值圖像 通過圖2.1可以看出當(dāng)n=6時(shí),被插圖像與插值圖像沒有很好的模擬,于是重新運(yùn)行textM,并選擇n=15,運(yùn)行,顯示如圖2.2所示 圖2.2 Largange插值圖像 綜合圖2.1和圖2.2的Lagrange插值圖像可以看出,n=15時(shí)的被插圖像與插值圖像實(shí)現(xiàn)了很好的模擬 結(jié)果分析: 由圖2.1

18、和圖2.2可以看出n的次數(shù)越高,越能實(shí)現(xiàn)較好的模擬,從而模擬的效果越好,從圖2.2就可以看出兩條曲線接近重合,而圖一兩條直線卻分開很多,誤差較大,精度也不高因此在實(shí)際的應(yīng)用中應(yīng)該盡量在給定的條件下增加n的次數(shù),才能實(shí)現(xiàn)與原函數(shù)較好的重合,才能使計(jì)算的結(jié)果更加的準(zhǔn)確,從而減小了誤差.§2.2 拉格朗日插值法的C語言實(shí)現(xiàn)在Visual C+中,用C語言實(shí)現(xiàn)拉格朗日插值.§2.2.1 流程圖要用C語言實(shí)現(xiàn)拉格朗日插值,先畫出流程圖. 程序流程圖: 開始輸入已知點(diǎn)個(gè)數(shù)n 輸入已知點(diǎn)的X坐標(biāo)以及輸入已知點(diǎn)的Y坐標(biāo)調(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ù)給定的點(diǎn)求出其對應(yīng)的拉格朗日插值多項(xiàng)式的值 .舉例如下: 已知當(dāng)x=1,-1,2時(shí)f(x)=0,-3,4,求f(1.5)的值.源程序見附錄B.運(yùn)行結(jié)果如下: 圖2.4 截屏 §2.3 拉格朗日插值法的應(yīng)用 拉格朗日插值法可以應(yīng)用在各個(gè)方面.§2.3.1 在漁業(yè)資源評估上

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

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

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

23、0年4李慶揚(yáng).數(shù)值分析M.北京:清華大學(xué)出版社.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作為臨時(shí)變量,記錄拉

溫馨提示

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

評論

0/150

提交評論