插值方法 matlab 实验,matlab计算方法实验报告3(插值问题).doc
matlab計算方法實驗報告3(插值問題)
計算方法實驗報告(3)學(xué)生姓名楊賢邦學(xué) 號指導(dǎo)教師吳明芬實驗時間2014.4.9地 點綜合實驗大樓 203實驗題目插值方法實驗?zāi)康恼莆绽窭嗜铡⑴nD插值法的算法思想;根據(jù)相關(guān)數(shù)據(jù),用Matlab或C現(xiàn)實拉格朗日、牛頓插值法實驗內(nèi)容拉格朗日、牛頓插值法及其Matlab實現(xiàn);題目由同學(xué)從學(xué)習(xí)材料中任意選兩題。算法分析與源程序拉格朗日插值:function y=chazhi_lage(x0,y0,x)i=length(x0);y=0;for j=1:i p=1; for k=1:i if j~=k p=p*(x-x0(k))/(x0(j)-x0(k)); end end y=y0(j)*p+y;endend牛頓插值:function y=chazhi_newton(x0,y0,x)n=length(x0);a(1)=y0(1);s=1;yy=0;for i=2:n a(i)=y0(i); s=(x-x0(i-1))*s; for j=1:i-1 a(i)=(a(i)-a(j))/(x0(i)-x0(j)); end yy=a(i)*s+yy;endy=a(1)+yy;實驗結(jié)果與分析1.依據(jù)以下數(shù)據(jù)表:分別用牛頓插值和拉格朗日插值求f(1.2)的值x-2-10123f(x)-5111725拉格朗日插值法結(jié)果:>> chazhi_lage(a,b,1.2)ans = 1.52800000000000牛頓插值法結(jié)果:>> chazhi_newton(a,b,1.2)ans = 1.528000000000002.已知:√100=10,√121=11,√144=12,分別用拉格朗日和牛頓插值法求√115的近似值。拉格朗日插值法結(jié)果:>> chazhi_lage(x,y,115)ans = 10.72275550536420牛頓插值法結(jié)果:>> chazhi_newton(x,y,115)ans = 10.72275550536420有上述實驗結(jié)果分析,無論用拉格朗日或者牛頓的插值法計算出來的結(jié)果都是一樣的,這是可以理解的,畢竟這兩種方法都是通過構(gòu)造n次插值多項式求得。區(qū)別是牛頓插值是一種具有遞推性質(zhì)的插值公式,即公式不用依賴于全部插值節(jié)點。當(dāng)這種遞推形式無疑使編程實現(xiàn)的難度高于拉格朗日插值,而且個人還覺得這種算法的時間復(fù)雜度比拉格朗日插值法要高。其 它編寫牛頓插值法有點難度,特別是編寫差商的那部分,開始時有著想放棄的傾向,不過最后堅持下來,參考了別人的算法,然后才編寫了出來··成績考核 算法分析與源程序( 50%), 實驗結(jié)果及分析(30%), 實驗???告(20%) 指導(dǎo)老師簽名:
總結(jié)
以上是生活随笔為你收集整理的插值方法 matlab 实验,matlab计算方法实验报告3(插值问题).doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 想要写出漂亮文档,(表情图标)资源你值得
- 下一篇: matlab安装与下载