計算方法——插值法綜述_第1頁
計算方法——插值法綜述_第2頁
計算方法——插值法綜述_第3頁
計算方法——插值法綜述_第4頁
計算方法——插值法綜述_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算方法插值法11223510 李曉東在許多實際問題及科學研究中,因素之間往往存在著函數(shù)關系,然而,這種關系經(jīng)常很難有明顯的解析表達,通常只是一些離散數(shù)值。有時即使給出了解析表達式,卻由于表達式過于復雜,使用不便,且不易于計算與分析。解決這類問題我們往往使用插值法:用一個“簡單函數(shù)”逼近被計算函數(shù),然后用的函數(shù)值近似替代的函數(shù)值。插值法要求給出的一個函數(shù)表,然后選定一種簡單的函數(shù)形式,比如多項式、分段線性函數(shù)及三角多項式等,通過已知的函數(shù)表來確定作為的近似,概括地說,就是用簡單函數(shù)為離散數(shù)組建立連續(xù)模型。一、 理論與算法(一)拉格朗日插值法在求滿足插值條件次插值多項式之前,先考慮一個簡單的插值

2、問題:對節(jié)點中任一點,作一n次多項式,使它在該點上取值為1,而在其余點上取值為零,即(1.1)上式表明個點都是次多項式的零點,故可設其中,為待定系數(shù)。由條件立即可得 (1.2)故 (1.3)由上式可以寫出個次插值多項式。我們稱它們?yōu)樵趥€節(jié)點上的次基本插值多項式或次插值基函數(shù)。利用插值基函數(shù)立即可以寫出滿足插值條件的次插值多項式 (1.4)根據(jù)條件(1.1),容易驗證上面多項式在節(jié)點處的值為,因此,它就是待求的次插值多項式。形如式(1.4)的插值多項式就是拉格朗日插值多項式,記為,即 (1.5)為了便于上機,常將拉格朗日插值多項式(1.5)改寫成: (1.6)下圖給出了利用式(1.6)計算x處函

3、數(shù)值的程序流程圖:y0輸入xi,yi(i=1,2.,n)及n,xyy+P*yk 輸出x,y k=1,2,.,nP1 j=1,2,.,n是j=k? PP*(x-xj)/(xk-xj)否根據(jù)流程圖用matlab語言編寫的函數(shù)為:function y=lagrange(x0,y0,x) n=length(x0);m=length(x); for i=1:m s=0.0; for k=1:n p=1.0; for j=1:n if j=k p=p*(x(i)-x0(j)/(x0(k)-x0(j); end end s=p*y0(k)+s; end y(i)=s; end(二)分段線性插值法由于高次的插

4、值多項式有不收斂現(xiàn)象,有時會出現(xiàn)較大的誤差,不能有效的逼近被插函數(shù),所以人們提出了用分段的低次多項式逼近被插函數(shù),這就是分段插值方法。常見的有分段線性插值和分段二次插值,本文使用的是分段線性插值法。當給定了個點上的函數(shù)值后,若要計算點處函數(shù)值的近似值。可先選取兩個節(jié)點與,使,然后在小區(qū)間上座線性插值,即得:(2.1)相應的程序流程圖如下:輸入xi ,yi(i=1,2,.,n)及n,x j=1,2,.,n-1 輸出x,P1(x) 按公式(2.1)計算P1(x)xxj,xj+1?是否根據(jù)流程圖用matlab語言編寫的函數(shù)為:function y=seg_linear(x0,y0,x)n = len

5、gth(x0);m=length(x);for i=1:m for j=1:n-1 if x(i)=x0(j) if x(i)=x0(j+1) y(i)=y0(j)*(x(i)-x0(j+1)/(x0(j)-x0(j+1)+y0(j+1)*(x(i)-x0(j)/(x0(j+1)-x0(j); end end endend(三)牛頓插值法設有函數(shù),,為一系列互不相等的點,稱為關于點的一階差商。一般的稱(3.1)為關于點的k階差商。 則其中(3.2)(3.3)顯然,是滿足插值條件的至多n次的多項式。可得。因而它是的n次的插值多項式。我們稱為牛頓插值多項式。在實際計算中,經(jīng)常利用由式(3.1)構造

6、出的差商表3.1計算差商,即由表3.1中加下劃橫線的差商值直接構造插值多項式(3.2)表3.1 一階差商 二階差商 三階差商 四階差商yy+F(1,1) 輸出F,y輸入xi,yi(i=1,2,.,n)及n,x j=2,3,.,n i=j,j+1,.,nF(i,j)F(i,j-1)-F(i-1,j-1)/(xi-xi-j+1) t1 i=1,2,.,k-1t(x-xi)*tj=2,3,.,nyy+F(j,j)*t程序流程圖為: function y=newton(x0,y0,x)x0=x0(:);y0=y0(:);n=length(x0);m=length(x);F=zeros(n,n); %均

7、差表二維矩陣,對角線上元素對應y=0*x; %插值點對應的近似值F(:,1)=y0; %均差表第一列為已知節(jié)點函數(shù)值for j=2:n for i=j:n F(i,j)=(F(i,j-1)-F(i-1,j-1)/(x0(i)-x0(i-j+1); end endfor j=1:m for k=2:n t=1; for i=1:k-1 t=(x(j)-x0(i)*t; end y(j)=y(j)+F(k,k)*t; end y(j)=y(j)+F(1,1); enddisp(差商表:)F=x0,F;disp(F)二、 例題分析 給出的函數(shù)表0.40.550.650.800.901.050.410

8、750.578150.696750.888111.026521.253821、用Lagrange插值法計算的近似值;2、用分段線性插值法計算的近似值;3、構造差商表,用牛頓插值法計算的近似值。先將函數(shù)表存放到matlab的workspace中以便調(diào)用:1、Lagrange插值2、分段線性插值3、牛頓插值法拉格朗日插值的優(yōu)點:它的形式是對稱的,這樣很容易編程上機實現(xiàn)。它在理論上十分重要。 牛頓插值的優(yōu)點:在計算插值多項式及求解函數(shù)近似值都比較方便且計算量相對較小。從公式中可以看出:每增加一個節(jié)點,插值多項式只增加一項,因此便于遞推運算,所以其具有靈活增加節(jié)點的優(yōu)點。 兩者的不同點:牛頓插值的計算量比拉格朗日要省,更利于程序設計。由插值多項式的唯一性可知,n次牛頓插值多項式與n次拉格朗日插值多項式是等價的,它們只是表示形式不同。因此,牛頓余項和拉格朗日余項也是等價的,故matlab計算結果二者一致。繪制所求點及已知節(jié)點在坐標中的位置,在matlab中運行:plot(x,y3,rv,x,y2,g,x0,y0,-.y,x0,y0,ob)得到坐標圖:放大其中兩組點可以看出,牛頓插值法和拉格朗日插值法有較高的精度,誤差很小,而

溫馨提示

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

評論

0/150

提交評論