資源描述:
《拉格朗日牛頓差值數(shù)值實驗報告(二)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、數(shù)值實驗報告二班級:計通學(xué)院學(xué)號:姓名:2016-10-171.數(shù)值實驗問題運用matlab編寫*.m文件,編寫兩種差值函數(shù)。根據(jù)給定的樣本占.門、、?X123-45Y24827211822262計算所需差值節(jié)點及差值函數(shù)。具體要求.?1)用拉格朗日差值函數(shù)、牛頓差值算法分別計算差值多項式;2)在差值區(qū)間取間斷點,分別用拉格朗日及牛頓差值算法計算出差值函數(shù)是多少;3)利用要求2的基木點畫出圖像。2.數(shù)值方法分別采用拉格朗日差值算法以及牛頓差值算法;3.數(shù)值結(jié)果給出程序運行結(jié)果1)通過拉格朗日算法,求得多項式為yh=L(xh)=lagrange(x,y
2、,xh);通過牛頓差值算法,求得多項式為yh=N(xh)=newton(x,y,xh)2)在區(qū)問(-4,5)上取步長為1的區(qū)間點并求值:x2二xh二(一4:1:5)xh-4-3-2-1012345單位L(xh)1.18200.39800.09200.01200.00200.00200.04800.27200.90202.26201.0e+003N(xh)11823989212224827290222621.0e+0013)做出圖像a)拉格朗日差值點做圖:plot(x2,lagrangel(x,y,x2),’ro—’)b)牛頓差值點做圖:plot(x2
3、,newtown(x,y,x2),’g*-’)4.討論例如:總結(jié)數(shù)值實驗中出現(xiàn)的問題,分析數(shù)值實驗結(jié)果等。首次實際應(yīng)用MATLAB編寫應(yīng)用程序,感覺到了許多不一樣的地方和方便但是也需要加深熟悉的地方:a)matlab不像C++等過程化代碼,強調(diào)變量類型,變量格式。可以方便申請及運算。但是右點搞不明白數(shù)值和數(shù)組之間的構(gòu)造及轉(zhuǎn)換。比如zeros()及ones()這些函數(shù)和直接賦值01的區(qū)別;b)輸出語句的格式控制不能掌握,如同樣的運算結(jié)果拉格朗日程序結(jié)果用Y科學(xué)計數(shù)法,而牛頓差值卻直接給Y算數(shù)結(jié)果;b)在數(shù)學(xué)公式轉(zhuǎn)換成程序語句時,構(gòu)造能力右所欠缺。面對中
4、頓差值公式的轉(zhuǎn)換,兩個for循環(huán)的嵌套運算深感頭皮發(fā)麻,試著改著才能把最后的結(jié)果算好。程序代碼:在此復(fù)制一一數(shù)值實驗中所寫的Matlab程序代碼a)拉格朗日差值函數(shù):functionyh=lagrangel(x,y,xh)n=lcngth(y):yh=zeros(size(xh));%構(gòu)造差值點數(shù)據(jù)fork=l:n,pt=l;forj=[l:k-1k+1:n],pt=pt.*(xh-x(j))/(x(k)-x(j));endyh=yh+y(k)*pt;endb)牛頓差值函數(shù):%先計算茶商,然后再調(diào)用差商運算結(jié)果計算牛頓差值function[p,q]=
5、chashang(x,y)n^length(x);p(:,l)=x;P(:,2)=y;forj=3:n+lN=diff(p(l:n4-3-j,j-1));M=x(j-1:n)-x(1:n+2-j);p(kn+2-j,j):N’./M;endq=p(l,2:n+l)’;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%functionyh=ncwtown(x,y,xh)[pq]=chashang(x,y):n^length(y):%yh=zeros(size(xh));%構(gòu)造差值點數(shù)據(jù)yh=0;%搞不
6、懂zeros()和直接等于零的差別fork=l:npt=l;forj-1:k-1,pt=pt.*(xh-x(j));endyh=yh+q(k)*pt;end