資源描述:
《構(gòu)造拉格朗日插值多項式》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、MATLAB期中作業(yè)構(gòu)造拉格朗日插值多項式一、問題分析:首先從最簡單的一次lagrange出發(fā)構(gòu)造一個插值函數(shù),過兩個點做一條直線,用兩點式表示,則有分別記作:則是的一次插值基函數(shù),是的一次插值基函數(shù)。是這兩個差值基函數(shù)的線性組合:,這種形式的插值稱為拉格朗日線性插值。同樣地我們可以用三個點來構(gòu)造過三個點的插值函數(shù),即二次插值。點的二次插值基函數(shù)為:點的二次插值基函數(shù)為:點的二次插值基函數(shù)為:有了這3個二次插值基函數(shù),可得到過的二次拉格朗日插值項式:有了上面的一次和二次差之多插值多項式、,我們可以推廣到次插值多項式。下面構(gòu)造通
2、過各節(jié)點的次插值多項式,是之滿足首先構(gòu)造個插值節(jié)點上的插值基函數(shù),對任一點所對應(yīng)的插值基函數(shù),由于在所有取零值,因此有因子。又因是一個次數(shù)不超過的多項式,所以只可能相差一個常數(shù)因子,固可表示成:利用得:于是因此滿足的插值多項式可表示為:從而次拉格朗日插值多項式為:二、lagrange插值多項式在MATLAB中的實現(xiàn):定義函數(shù)文件lagran:functiony=lagran(x0,y0,x)%x0,y0是已知的插值點坐標(biāo)%x是待求點組成的數(shù)組%y是拉格朗日差值多項式在x處的值%L是拉格朗日插值函數(shù)的權(quán)函數(shù)n=length(x0
3、);m=length(x);L=zeros(1,n);y=zeros(1,m);fork=1:ms=0;fori=1:nL(i)=1;forj=1:nifj~=iL(i)=L(i)*(x(k)-x0(j))/(x0(i)-x0(j));endends=s+y0(i)*L(i);endy(k)=s;endreturn;用下列命令文件調(diào)用函數(shù)文件lagran.m:x1=[1.12.33.95.1];y1=[3.8874.2764.6515.117];x=[2.1013.5234.2345.226];y=lagran(x1,y1,x
4、)[P,S]=polyfit(x,y,3)plot(x,y,'r*');grid;holdonplot(x1,y1,'g')title=('lagran(x,y)');xlabel('x');ylabel('y');運行結(jié)果:y=4.22574.55314.75265.1858P=0.0218-0.19090.77683.2345S=R:[4x4double]df:0normr:2.5121e-015三、結(jié)果分析: