資源描述:
《牛頓插值法matlab程序.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、《計(jì)算方法》數(shù)值實(shí)驗(yàn)報(bào)告班級(jí)090712學(xué)號(hào)09071235姓名金志彬?qū)嶒?yàn)室3-128設(shè)備編號(hào)D12日期2012.06.05實(shí)驗(yàn)題目編寫(xiě)牛頓插值方法的MATLAB主程序并驗(yàn)算P183.111、實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)編程實(shí)現(xiàn)牛頓插值方法,加深對(duì)多項(xiàng)式插值的理解。應(yīng)用所編程序解決實(shí)際算例。2、實(shí)驗(yàn)要求:(1)認(rèn)真分析課題要求,復(fù)習(xí)相關(guān)理論知識(shí),選擇適當(dāng)?shù)慕鉀Q方案;(2)上機(jī)實(shí)驗(yàn)程序,做好上機(jī)前的準(zhǔn)備工作;(3)調(diào)試程序,記錄計(jì)算結(jié)果;(4)分析和解釋計(jì)算結(jié)果;(5)按照要求書(shū)寫(xiě)實(shí)驗(yàn)報(bào)告。3、實(shí)驗(yàn)內(nèi)容:(1)算法原理或
2、計(jì)算公式算法原理:根據(jù)均差定義,把x看成[a,b]上一點(diǎn),可得…只要把后一式代入前一式,就得到其中由式(1-1)確定的多項(xiàng)式顯然滿足插值條件,且次數(shù)不超過(guò)n次的多項(xiàng)式,其系數(shù)為稱(chēng)為牛頓(Newton)均差插值多項(xiàng)式。系數(shù)就是書(shū)本表5-1中第一條斜線上對(duì)應(yīng)的數(shù)值。式(1-2)為插值余項(xiàng),由插值多項(xiàng)式唯一性可知,它與書(shū)本式(5.1.19)是等價(jià)的,事實(shí)上,利用均差與導(dǎo)數(shù)關(guān)系式可由式(1-2)推出書(shū)本式(5.1.19)。但式(1-2)更有一般性,它對(duì)f是由離散點(diǎn)給出的情形或f導(dǎo)數(shù)不存在時(shí)均適用。(2)程序設(shè)計(jì)思
3、路1)輸入:n的值及要計(jì)算的函數(shù)點(diǎn)x(本文取x0,x1兩個(gè)函數(shù)點(diǎn));2)由計(jì)算的值;3)輸出:。(3)源程序functionf=Newton(x,y,x0,x1)symst;if(length(x)==length(y))n=length(x);c(1:n)=0.0;elsedisp('x和y的維數(shù)不相等!');return;endf=y(1);y1=0;l=1;for(i=1:n-1)for(j=i+1:n)y1(j)=(y(j)-y(i))/(x(j)-x(i));endc(i)=y1(i+1);l=
4、l*(t-x(i));f=f+c(i)*l;y=y1;endf=simplify(f);g=subs(f,'t',x0)g1=subs(f,'t',x1)A=zeros(n,n-1);A=[y',A];forj=2:nfori=j:nA(i,j)=(A(i,j-1)-A(i-1,j-1))/(x(i)-x(i+1-j));endenddisp('差商表為');disp(A);(4)運(yùn)行結(jié)果>>x=[0123];>>y=[121764];>>x0=0.5;>>x1=2.5;>>f=Newton(x,y,x0
5、,x1)g=0.8750g1=35.3750差商表為00001.00001.0000007.00006.00002.500003.0000-4.0000-5.0000-2.5000f=1-2*t^2+3*t^34、實(shí)驗(yàn)小結(jié)體會(huì):1)通過(guò)本次實(shí)驗(yàn)讓我從實(shí)踐驗(yàn)證了理論-------插值多項(xiàng)式的基本思想;2)牛頓插值法建立過(guò)程中用到了插商計(jì)算,這是有別于拉格朗日插值法的一部分,在已知點(diǎn)數(shù)較少的情況下用牛頓插值法較為準(zhǔn)確;3)通過(guò)編程,加深了matlab的熟悉特別是一些函數(shù)語(yǔ)句,進(jìn)一步體會(huì)到了函數(shù)逼近的思想。