




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要插值法是函數逼近的一種重要方法,是數值計算的基本課題.數學上來說,拉格朗日插值法可以給出一個恰好穿過二維平面上若干個已知點的多項式函數.Lagrange插值是n次多項式插值,其成功地用構造插值基函數的方法,解決了求n次多項式插值函數問題.Lagrange插值的基本思想是將待求的n次多項式插值函數改寫成另一種表示方式,再利用插值條件確定其中的待定函數,從而求出插值多項式. 拉格朗日插值法是一種很實用的插值方法,可以應用在漁業(yè)資源評估中、化學中、工程中、工業(yè)中、機械設計與制造領域,以及計算機方面.本課題意在將拉格朗日插值法應用到實際中,主要通過程序的編寫(有拉格朗日插值法的Matlab和C語言
2、實現)將算法在計算機中實現,求得相應的解.進一步體現拉格朗日插值法在解決問題時的實際意義. 關鍵詞 插值基函數;插值多項式;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 基函數2 §1.2.2拉格朗日插值公式3 §1.
7、2.3 余項與誤差估計4第二章 拉格朗日插值法的程序設計及應用8 §2.1拉格朗日插值法的Matlab實現8 §2.2拉格朗日插值法的C語言實現9 §2.2.1 流程圖9 §2.2.2 C語言編程10 §2.3 拉格朗日插值法的應用11 §2.3.1 在漁業(yè)資源評估上的應用11 §2.3.2 利用拉格朗日插值法解決傳熱過程中的導熱系數12參考文獻14附錄A15附錄B16 引言在數值分析中,拉格朗日插值法是以法國十八世紀數學家約瑟夫·路易斯·拉格朗日命名的一種多項式插值方法.約瑟夫·拉格朗日(Jo
8、seph Louis Lagrange),法國數學家、物理學家.他在數學、力學和天文學三個學科領域中都有歷史性的貢獻,其中尤以數學方面的成就最為突出.拉格朗日對流體運動的理論也有重要貢獻,提出了描述流體運動的拉格朗日方法.1795年,拉格朗日在其著作師范學校數學基礎教程中發(fā)表了這個插值方法,從此他的名字就和這個方法聯系在一起.數據建模有兩大方法:一類是插值方法,另一類是擬合函數,一般的說,插值法比較適合數據準確或數據量小的情形.然而Lagrange插值有很多種,1階,2階,n階.我們可以利用拉格朗日插值求方程,根據它的程序求原方程的圖像.拉格朗日插值法可以找到一個多項式,其恰好在各個觀測的點取
9、到觀測到的值.實際問題中所遇到的許多函數很難找到它的解析表達式.有時通過實驗或數值計算所得到的也只是一些離散的(一般是互不相同)點(i=0,1,.,n)上的函數值,在實際應用中,一般將這些數據列成數據表格的形式.通常,將這種用數據表格形式給出的函數稱為列表函數,其中點稱為結點.根據函數已有的數據表格來計算函數在一些新的點處的函數值,這就是插值法所要解決掉問題.插值法的基本思想是,首先設法根據表格中已有的函數值值來構造一個簡單的函數作為的近似表達式,然后再用來計算新的點上的函數值作為的近似值.通常可以選多項式函數作為近似函數,因為多項式具有各階導數,求值也比較方便.本課題研究的是拉格朗日插值法的
10、程序設計,計算機實現,以及拉格朗日插值法的應用.第一章 拉格朗日插值法§1.1 基本概念 下面介紹有關拉格朗日插值法的相關概念. 定義1.1 設函數在區(qū)間上有定義,且已知在點上的值,若存在一簡單函數,使 (1.1)成立,就稱為的插值函數,點稱為插值節(jié)點,包含插值節(jié)點的區(qū)間稱為插值區(qū)間,求插值函數的方法稱為插值法. 若是次數不超過n的代數多項式,即 其中為實數,就稱為插值多項式,相應的插值法稱為多項式插值. 定義1.2 設給定數據點,(互異),欲找二者的近似關系,滿足(1)(2) 則稱為n次代數插值多項式. 定理1.1 滿足條件(1.1)的插值多項式是存在唯一的.直接求解方程組就可以得
11、到插值多項式,但這是求插值多項式最繁雜的方法,一般是不用的,下面將給出構造插值多項式更簡單的方法.§1.2 拉格朗日插值法§1.2.1 基函數 為了構造插值多項式,我們先定義插值基函數.定義1.3 設是給定的彼此互異的個插值結點, 為給出的函數值,則是唯一的次數不超過的,滿足的多項式.其中為拉格朗日插值基函數,為拉格朗日插值函數.下面介紹基函數的性質. 性質1.1 性質1.2 性質1.3 §1.2.2 拉格朗日插值公式 定理1.2 n次代數插值問題的解為 稱為拉格朗日插值多項式. 特殊化,得到如下插值公式. (1)線性插值 設已知,及=f() ,=f(),為不超過
12、一次多項式,且滿足 =,=, 幾何上,為過(,),(,)的直線,從而得到 . (1.2) 為了推廣到高階問題,我們將式(1.2)變成對稱式 =(x)+(x).其中,(x)=,(x)=.均為1次多項式且滿足(x)=1且(x)=0.或(x)=0且(x)=1.兩關系式可統(tǒng)一寫成. (1.3) (2)拋物線插值 假定插值結點為,要求拋物線插值(即二次插值)多項式,使它滿足 我們知道在幾何上就是通過三點,的拋物線.為了求出的表達式,可采用基函數法,此時基函數及是二次函數,且在節(jié)點上分別滿足條件 (1.4) 滿足條件(1.4)的插值基函數是很容易求出的,例如求,因它有兩個零點及,故可表示為 ,其中A為待定
13、系數,可由條件定出,于是.同理可得,. 利用二次插值基函數,立即得到二次插值多項式, (1.5)顯然,它滿足條件.將上面求得的,代入(1.5)式,得.§1.2.3余項與誤差估計 拉格朗日插值用來求n個節(jié)點的(n-1)次插值多項式,它就是線性插值和拋物線插值的推廣和延伸.我們設有n個節(jié)點,則拉格朗日插值的表達式表示為: 若在上用近似,則其截斷誤差為,也稱為插值多項式的余項.關于插值余項估計有以下定理.下面的定理說明了用插值多項式近似代替函數時的余項. 定理1.3 (余項定理) 設在上連續(xù),在內存在,節(jié)點,是滿足條件的插值多項式,則對任何,插值余項, (1.6)這里且依賴于,.這里需要說
14、明如下兩點.(1) 在插值多項式的余項公式中,包含有,其中,一般與插值結點以及插值點有關,因此,一般是無法知道的,這就對余項的估計帶來了困難.(2) 由插值多項式的余項公式可以看出,當被插值的函數為次數不高于的多項式時,其次插值多項式就是它本身,因為此時,即余項為0. 應當指出,余項表達式只有在的高階導數存在時才能應用.在內的具體位置通常不可能給出,如果我們可以求出,那么插值多項式逼近的截斷誤差限是. 當時,線性插值余項為 當時,拋物線插值的余項為 利用余項表達式(1.6),當時,由于,于是有由此得 (1.7)特別當時,有 (1.8)(1.7)式和(1.8)式也是插值基函數的性質,利用它們還可
15、求一些和式的值. 例1 已知函數表sin=0.5000,sin=0.7071,sin=0.8660,分別由線性插值與拋物插值求sin的數值解,并由余項公式估計計算結果的精度. 解(1)這里有三個節(jié)點,線性插值需要兩個節(jié)點,根據余項公式,我們選取前兩個節(jié)點,易知:sin()=0.5000+(-) =0.5000+0.2071=0.6381 截斷誤差,=, 得知結果至少有1位有效數字. (2)易知 sin0.7071+ =0.8660=0.6434 .截斷誤差為:得知結果至少有兩位數字. 比較本題精確解sin0.642787609.,實際誤差限分別為0.0047和0.00062. 第二章 拉格朗日
16、插值法的程序設計及應用 §2.1 拉格朗日插值法的Matlab實現 在Matlab中,利用Lagrange插值方法進行多項式插值,并將圖形顯式出來 實現Lagrange插值的步驟如下: Step1 定義函數f = 1/(25*x2+1)將其保存在fm 文件中,具體程序如下: function y = f1(x) y = 1/(25x2+1); Step2 定義拉格朗日插值函數,將其保存在lagrangem 文件中,具體實現程序 編程見附錄A. Step3 建立測試程序,保存在textM文件中,實現畫圖: 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時,出現如下面的圖2.1所示 圖2.1 Largange插值圖像 通過圖2.1可以看出當n=6時,被插圖像與插值圖像沒有很好的模擬,于是重新運行textM,并選擇n=15,運行,顯示如圖2.2所示 圖2.2 Largange插值圖像 綜合圖2.1和圖2.2的Lagrange插值圖像可以看出,n=15時的被插圖像與插值圖像實現了很好的模擬 結果分析: 由圖2.1
18、和圖2.2可以看出n的次數越高,越能實現較好的模擬,從而模擬的效果越好,從圖2.2就可以看出兩條曲線接近重合,而圖一兩條直線卻分開很多,誤差較大,精度也不高因此在實際的應用中應該盡量在給定的條件下增加n的次數,才能實現與原函數較好的重合,才能使計算的結果更加的準確,從而減小了誤差.§2.2 拉格朗日插值法的C語言實現在Visual C+中,用C語言實現拉格朗日插值.§2.2.1 流程圖要用C語言實現拉格朗日插值,先畫出流程圖. 程序流程圖: 開始輸入已知點個數n 輸入已知點的X坐標以及輸入已知點的Y坐標調用函數lagrange函數 輸出結果 圖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輸出根據給定的點求出其對應的拉格朗日插值多項式的值 .舉例如下: 已知當x=1,-1,2時f(x)=0,-3,4,求f(1.5)的值.源程序見附錄B.運行結果如下: 圖2.4 截屏 §2.3 拉格朗日插值法的應用 拉格朗日插值法可以應用在各個方面.§2.3.1 在漁業(yè)資源評估上
20、的應用: 應用拉格朗日插值法擬合魚類體長與體重之間的關系,使用計算機VB語言進行編寫程序,與常用的線性回歸法、Ricker法進行比較,得出體長與體重的關系式為 在資源評估過程中,當測量次數確定為時,將測量到同一種不同大小的魚類樣品對應的體長與體重數據,其中表示第條魚的體長,表示第條魚的體重,即求作次多項式,使?jié)M足條件 (2.1)點(它們互不相同,若在測量中有相同的體長值歸為一組數值)稱為插值節(jié)點.用幾何的語言來表達這類插值,就是通過體長與體重關系曲線上給定的個點,求作一條次代數曲線作為的近似.解決這個問題時先從構造插值基函數入手,這里的插值基函數是次多項式,且滿足條件 (2.2) 這表明除以外
21、的所有節(jié)點都是的零點,故 , (2.3)按(2.2)式中的第2個條件確定其中的系數,結果有 (2.4)利用插值基函數容易得出方程(2.1)的解 (2.5)通過這個方程,我們可以從同一種魚類對應體長求得相應較為精確的近似體重.§2.3.2 利用拉格朗日插值法解決傳熱過程中的導熱系數 化學工程手冊中通常給出的導熱系數是離散數據,而此數據誤差較大1為了減小導熱系數的誤差,我們可采用拉格朗日插值法求得準確度較高的導熱系數.以苯為例,求160下的值. 表2-1不同溫度下苯的導熱系數 根據表2-1中所給出的值,可確定為共有5個節(jié)點,能構造4次插值函數.首先構造,而,故,則,同理可構造求得0.95
22、92;這樣,4次插值函數為=0.0235. 也就是說用拉格朗日插值法求得苯在160下的導熱系數為0.0235. 拉格朗日插值法還可以應用在基于拉格朗日插值法修正地形影響的分布式降水模型研究中,基于質心拉格朗日插值的GPS軌道標準化方法,基于高維拉格朗日插值法的三坐標測量機測量誤差建模,基于拉格朗日插值的射線圖像增強技術,基于拉格朗日插值的參數曲線隱式化等方面. 參考文獻 1Jhon H. Mathews Kurtis D.Fink .數值方法(MATLAB版).電子工業(yè)出版社.2002年2關治.數值計算方法.清華大學大學出版社.2005年3徐士良.數值方法與計算機實現M.清華大學出版社.201
23、0年4李慶揚.數值分析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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 烹飪原料學 教案 3蔬菜類原料
- 2025年婚慶床品項目發(fā)展計劃
- 2025年ICU專用末端裝置項目可行性建設方案
- 戀愛婚姻家庭教育
- 熱點05 跨學科綜合問題-2025年中考《科學》熱點重點難點專練(浙江專用)
- 低鉀血癥診斷
- 機場值機柜臺排隊秩序維護
- 把鹽放到水里實驗課程
- 住建部 采購合同標準文本
- 體檢車銷售合同標準文本
- DL∕T 753-2015 汽輪機鑄鋼件補焊技術導則
- 德陽巴蜀文化介紹
- 三年級下冊數學課件-4.1 整體與部分 ▏滬教版 (23張PPT)
- DB33T 1192-2020 建筑工程施工質量驗收檢查用表統(tǒng)一標準
- 電鍍與化學鍍
- 醫(yī)古文部分課后練習題及課外閱讀試題及答案
- 職業(yè)健康檢查科室設置和分工
- 壓力容器安裝施工方案完整
- 搖臂鉆作業(yè)指導書
- 個人外匯管理辦法實施問答(一二三四期)(共5頁)
- ▲封頭重量計算
評論
0/150
提交評論