资源描述:
《数学实验matlab报告new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数学实验报告一、实验目的1.掌握四种经典的插值方法:拉格朗日插值法,牛顿插值法,分段插值法,三次样条插值法。2.学会用MATLAB软件进行数据插值计算。3.学会用数据插值,数据拟合方法建立数学模型并求解。二实验内容习题1海水温度随着深度的变化而变化,海面温度较高,随着深度的增加,海水温度越来越低。通过实验测得一组海水深度h与温度t的数据如下:t23.522.920.119.115.411.59.58.2h01.52.54.68.212.516.526.5要求:1.分别用多种数据插值方法找出温度t与深度h之间的一个近似函数
2、关系;2.找出温度变化最快的深度位置。通过查询相关资料,了解这个特殊位置的实际应用价值。三、实验思路1、先分别用拉格朗日插值、线性插值、三次样条插值进行插值计算,并求出变化最快的深度。2、由于在全数据插值中有两个龙格库塔现象,故考虑把数据分为两段,其中前三个数据为第一段,分别用拉格朗日插值、线性插值、三次样条插值计算,并分段求出变化最快的深度。但缺陷也很明显,体现在仍有一个龙格库塔现象没有消除,且第三个数据点附近函数不光滑。四、程序展示(一)、插值计算的综合程序如下:注:p1,p2,p31,p32,p41,p42表示各数
3、据用多项式拟合所得函数关系式re1为全段三次样条插值代表的最快变化温度re2为全段线性插值代表的最快变化温度re3为第一段三次样条插值代表的最快变化温度re4为第二段三次样条插值代表的最快变化温度re5为第一段拉格朗日插值代表的最快变化温度re6为第二段拉格朗日插值代表的最快变化温度t=[23.5,22.9,20.1,19.1,15.4,11.5,9.5,8.2];t1=[23.5,22.9,20.1];t2=[20.1,19.1,15.4,11.5,9.5,8.2];h=[0,1.5,2.5,4.6,8.2,12.5,
4、16.5,26.5];h1=[0,1.5,2.5];h2=[2.5,4.6,8.2,12.5,16.5,26.5];h0=0:0.01:26.5;h01=0:0.01:2.5;h02=2.5:0.01:26.5;lglr=lglrcz(h,t,h0);xxcz=interp1(h,t,h0);sccz=interp1(h,t,h0,'spline');subplot(1,2,1)plot(h,t,'*',h0,lglr,'r-',h0,xxcz,'b-',h0,sccz,'k-');grid;title('分段之前')a
5、xis([030030])holdon;lglr1=lglrcz(h1,t1,h01);xxcz1=interp1(h1,t1,h01);sccz1=interp1(h1,t1,h01,'spline');lglr2=lglrcz(h2,t2,h02);xxcz2=interp1(h2,t2,h02);sccz2=interp1(h2,t2,h02,'spline');subplot(1,2,2)plot(h,t,'*',h01,lglr1,'r-',h01,xxcz1,'b-',h01,sccz1,'k-',h02,l
6、glr2,'r-',h02,xxcz2,'b-',h02,sccz2,'k-');grid;title('分段之后')axis([030030])%%%%%%%%%%%%%%%%%%%%p1=polyfit(h0,sccz,3)p2=polyfit(h0,sccz,4)p31=polyfit(h01,lglr1,3)p32=polyfit(h02,lglr2,3)p41=polyfit(h01,sccz1,3)p42=polyfit(h02,sccz2,3)%%%%%%%%%%%%%%%%%%z1=diff(sccz);
7、z2=diff(xxcz);z3=diff(sccz1);z4=diff(sccz2);z5=diff(lglr1);z6=diff(lglr2);min1=z1(1);min2=z2(1);min3=z3(1);min4=z4(1);min5=z5(1);min6=z6(1);xb1=[];xb2=[];xb3=[];xb4=[];xb5=[];xb6=[];%%%%%%%%%%%%%%%%%%%%fori=1:1:2650if(z1(i)8、ngth(xb1);re1=0.01*xb1(j1)%%%%%%%%%%%%%%%%%%%fori=1:1:2650if(z2(i)