資源描述:
《牛頓插值MATLAB算法.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、MATLAB程序設(shè)計(jì)期中作業(yè)——編程實(shí)現(xiàn)牛頓插值成員:劉川(P091712797) 簽名_____湯意(P091712817)簽名_____王功賀(P091712799)簽名_____班級:2009信息與計(jì)算科學(xué)學(xué)院:數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院日期:2012年05月02日牛頓插值的算法描述及程序?qū)崿F(xiàn)一:問題說明在我們的實(shí)際應(yīng)用中,通常需要解決這樣的問題,通過一些已知的點(diǎn)及其對應(yīng)的值,去估算另外一些點(diǎn)的值,這些數(shù)據(jù)之間近似服從一定的規(guī)律,于是,這就引入了插值法的思想。插值法是利用函數(shù)f(x)在某區(qū)間中若
2、干點(diǎn)的函數(shù)值,作出適當(dāng)?shù)奶囟ê瘮?shù),在這些點(diǎn)上取已知值,在區(qū)間的其他點(diǎn)上用這特定函數(shù)的值作為函數(shù)f(x)的近似值。如果這特定函數(shù)是多項(xiàng)式,就稱它為插值多項(xiàng)式。利用插值基函數(shù)很容易得到拉格朗日插值多項(xiàng)式,公式結(jié)構(gòu)緊湊,在理論分析中甚為方便,但當(dāng)插值節(jié)點(diǎn)增減時(shí)全部插值基函數(shù)均要隨之變化,整個(gè)公式也將發(fā)生變化,這在實(shí)際計(jì)算中是很不方便的,為了克服這一缺點(diǎn),提出了牛頓插值。二:算法分析newton插值多項(xiàng)式的表達(dá)式如下:其中每一項(xiàng)的系數(shù)ci的表達(dá)式如下:即為f(x)在點(diǎn)處的i階差商,(,),由差商的性質(zhì)可
3、知:牛頓插值的程序?qū)崿F(xiàn)方法:第一步:計(jì)算。第二步:計(jì)算牛頓插值多項(xiàng)式中,,得到n個(gè)多項(xiàng)式。第三步:將第二步得到的n個(gè)多項(xiàng)式相加,得到牛頓插值多項(xiàng)式。第四步:利用所得到的插值多項(xiàng)式,估算取其它值時(shí)的值。第五步:作出所求多項(xiàng)式在插值結(jié)點(diǎn)周圍的函數(shù)圖像。三:編程實(shí)現(xiàn)function[p2,z]=newTon(x,y,t)%輸入?yún)?shù)中x,y為元素個(gè)數(shù)相等的向量,t為待估計(jì)的點(diǎn),可以為數(shù)字或向量。%輸出參數(shù)中p2為所求得的牛頓插值多項(xiàng)式,z為利用多項(xiàng)式所得的t的函數(shù)值。n=length(x);chaS(1
4、)=y(1);fori=2:nx1=x;y1=y;x1(i+1:n)=[];y1(i+1:n)=[];n1=length(x1);s1=0;forj=1:n1t1=1;fork=1:n1ifk==jcontinue;elset1=t1*(x1(j)-x1(k));endends1=s1+y1(j)/t1;endchaS(i)=s1;endb(1,:)=[zeros(1,n-1)chaS(1)];cl=cell(1,n-1);fori=2:nu1=1;forj=1:i-1u1=conv(u1,[1
5、-x(j)]);cl{i-1}=u1;endcl{i-1}=chaS(i)*cl{i-1};b(i,:)=[zeros(1,n-i),cl{i-1}];endp2=b(1,:);forj=2:np2=p2+b(j,:);endiflength(t)==1rm=0;fori=1:nrm=rm+p2(i)*t^(n-i);endz=rm;elsek1=length(t);rm=zeros(1,k1);forj=1:k1fori=1:nrm(j)=rm(j)+p2(i)*t(j)^(n-i);endz
6、=rm;endendplot(t,z,'y',x,y,'*r')四:實(shí)例驗(yàn)證clcclearx=[0.40.550.650.800.901.05];y=[0.410750.578150.696750.888111.026521.25386];t=0.4:0.1:1.05;[u,v]=newTon(x,y,t)執(zhí)行結(jié)果:u=0.00850.00320.15870.00730.99710.0004v=0.41080.52110.63670.75860.88811.02651.17521.33561.
7、5095則所求得的牛頓多項(xiàng)式為:牛頓多項(xiàng)式的函數(shù)圖像及已知節(jié)點(diǎn)在坐標(biāo)中的顯示如下:五:結(jié)果分析本程序給出了計(jì)算牛頓插值多項(xiàng)式的函數(shù),通過調(diào)用函數(shù)可以求得牛頓多項(xiàng)式與待估算點(diǎn)的值,作出了節(jié)點(diǎn)及待求多項(xiàng)式的函數(shù)圖像,能夠比較清晰的通過圖像顯示出來,總體來說,計(jì)算結(jié)果是比較理想的,達(dá)到了我們的目的。然而程序在實(shí)現(xiàn)過程中,依舊存在著一些不足之處,總體反應(yīng)在靈活性方面,參數(shù)的輸入必須為三個(gè),否則程序會出錯,有時(shí)候我們僅需要得到牛頓多項(xiàng)式,而不需要去估算某個(gè)具體的x對應(yīng)的函數(shù)值。另外,本程序的函數(shù)在實(shí)現(xiàn)過程
8、中會給出多項(xiàng)式函數(shù)的函數(shù)圖像,沒有設(shè)置參數(shù)對其判斷是否需要。因此,這些都是有待改進(jìn)的地方。