资源描述:
《MATLAB基础性实验报告6.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、学生实验报告了解插值与拟合的基本原理和方法;掌握用MATLAB计算插值与作最小二乘多项式拟合和曲线拟合的方法;通过范例展现求解实际问题的初步建模过程;通过动手作实验学习如何用插值与拟合方法解决实际问题,提高探索和解决问题的能力。这对于学生深入理解数学概念,掌握数学的思维方法,熟悉处理大量的工程计算问题的方法具有十分重要的意义。二、实验仪器、设备或软件:电脑,MATLAB软件三、实验内容1.编写插值方法的函数M文件;2.用MATLAB中的函数作函数的拟合图形;3.针对实际问题,试建立数学模型,并求解。四、实验步骤1.开启软件平台——MATLA
2、B,开启MATLAB编辑窗口;2.根据各种数值解法步骤编写M文件;3.保存文件并运行;4.观察运行结果(数值或图形);5.写出实验报告,并浅谈学习心得体会。五、实验要求与任务根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论→心得体会)。1.天文学家在1914年8月的7次观测中,测得地球与金星之间距离(单位:米),并取得常用对数值,与日期的一组历史数据如下表:日期(号)18202224262830距离对数9.961779.954369.946819.939109.9312
3、29.923199.91499由此推断何时金星与地球的距离(米)的对数值为9.93518?解:输入命令days=[18202224262830];distancelogs=[9.961779.954369.946819.939109.931229.923199.91499];t1=interp1(distancelogs,days,9.93518)%线性插值t2=interp1(distancelogs,days,9.93518,'nearest')%最近邻点插值t3=interp1(distancelogs,days,9.93518,'s
4、pline')%三次样条插值t4=interp1(distancelogs,days,9.93518,'cubic')%三次插值计算结果:t1=24.9949t2=24t3=25.0000t4=25.0000综上所得,可推断25日金星与地球的距离(米)的对数值为9.93518。2.在某海域测得一些点(x,y)处的水深z由下表给出,船的吃水深度为5英尺,在矩形区域(75,200)×(-50,150)里的哪些地方船要避免进入。xyz129140103.588185.51951057.5141.52314722.5137.585.54868688
5、xyz157.5107.57781162162117.5-6.5-81356.5-66.584-33.59988949(1)输入插值基点数据;(2)在矩形区域(75,200)×(-50,150)作二维插值;(3)作海底曲面图;(4)作出水深小于5的海域范围,即z=5的等高线。解:程序:%输入插值基点数据x=[129140103.588185.5195105157.5107.57781162162117.5];y=[7.5141.52314722.5137.585.5-6.5-81356.5-66.584-33.5];z=[486868899
6、88949];z=-z;%在矩形区域(75,200)×(-50,150)作二维插值cx=75:0.5:200;cy=-50:0.5:150;cz=griddata(x,y,z,cx,cy','cubic');%作海底曲面图subplot(1,2,1),meshz(cx,cy,cz)xlabel('x'),ylabel('y'),zlabel('z')%作出水深小于5的海域范围,即z=5的等高线subplot(1,2,2),[c,h]=contour(cx,cy,cz);clabel(c,h,-5)插值后作出的海底曲面图及等高线图如下:若船的
7、吃水深度为5英尺,在矩形区域(75,200)×(-50,150)里如上图等高线-5m内的地方船要避免进入。3.用电压V=10伏的电池给电容器充电,电容器上t时刻的电压为,其中V0是电容器的初始电压,是充电常数。试由下面一组(t,v)数据确定V0和。t(秒)0.51234579v(伏)6.366.487.268.228.668.999.439.63解一:(1)用命令lsqcurvefit。1)编写M文件curvefun1.mfunctionf=curvefun1(x,tdata)f=10-(10-x(1))*exp(-tdata/x(2));
8、2)主程序xitithree1.m如下tdata=[0.51234579];cdata=[6.366.487.268.228.668.999.439.63];x0=[0.4316