重庆大学数学实验-插值方法-参考答案.doc
_开课学院、实验室:数学与统计学院DS1401 实验时间 :2011年 3 月 2 日课程名称数学实验实验项目名 称实验4 插值方法实验项目类型验证演示综合设计其他指导教师成 绩实验目的1 了解插值的基本原理2 了解拉格朗日插值、线性插值、样条插值的基本思想; 3 了解三种网格节点数据的插值方法的基本思想;4 掌握用MATLAB计算三种一维插值和两种二维插值的方法;5 通过范例展现求解实际问题的初步建模过程;通过自己动手作实验学习如何用插值方法解决实际问题,提高探索和解决问题的能力。通过撰写实验报告,促使自己提炼思想,按逻辑顺序进行整理,并以他人能领会的方式表达自己思想形成的过程和理由。提高写作、文字处理、排版等方面的能力。基础实验一、实验内容1编写拉格朗日插值方法的函数M文件;2用三种插值方法对已知函数进行插值计算,通过数值和图形输出,比较它们的效果;3针对实际问题,试建立数学模型,并求解。二、实验过程1. 一维插值 利用以下一些具体函数,考察分段线性插值、三次样条插值和拉格朗日多项式插值等三种插值方法的差异。1),xÎ-5,5; 2)sinx, xÎ0,2p; 3)cos10x, xÎ0,2p注意:适当选取节点及插值点的个数;比较时可以采用插值点的函数值与真实函数值的差异,或采用两个函数之间的某种距离。解:3)编写M-file:function y=lagr(x0,y0,x)n=9;m=65;x0=-2:8/(n-1):2;y0=(cos(x0).10;x=-2:8/(m-1):2;y=(cos(x).10;matlab命令语句: >> n=9;m=65;>> x=-2:8/(m-1):2;>> y=(cos(x).10;>> z=0*x;>> plot(x,z,'y',x,y,'k:'),>> pausex0=-2:8/(n-1):2;y0=(cos(x0).10;>> y1=lagr(x0,y0,x);>> hold on,>> plot(x,y1,'r'),>> gtext('lagr.'),>> pause,hold off,>> y2=interp1(x0,y0,x);>> hold on, >> plot(x,y2,'b'),>> gtext('fendan.'),>> pause,hold off,>> y3=interp1(x0,y0,x,'spline');>> hold on,plot(x,y3,'m'),>> gtext('Spline.'),>> s='x,y,y1,y2,y3'x',y',y1',y2',y3'输出结果:s =x,y,y1,y2,y3ans = -2.0000 0.0002 0.0002 0.0002 0.0002 -1.8750 0.0000 0.0000 0.0004 -0.2074 -1.7500 0.0000 0.0000 0.0006 -0.3381 -1.6250 0.0000 0.0000 0.0009 -0.4007 -1.5000 0.0000 0.0000 0.0011 -0.4038 -1.3750 0.0000 0.0000 0.0014 -0.3564 -1.2500 0.0000 0.0000 0.0016 -0.2670 -1.1250 0.0002 0.0002 0.0019 -0.1446 -1.0000 0.0021 0.0021 0.0021 0.0021 -0.8750 0.0117 0.0117 0.1269 0.1644 -0.7500 0.0440 0.0440 0.2516 0.3335 -0.6250 0.1230 0.1230 0.3763 0.5006 -0.5000 0.2709 0.2709 0.5011 0.6570 -0.3750 0.4866 0.4866 0.6258 0.7939 -0.2500 0.7292 0.7292 0.7505 0.9026 -0.1250 0.9247 0.9247 0.8753 0.9742 0 1.0000 1.0000 1.0000 1.0000 0.1250 0.9247 0.9247 0.8753 0.9742 0.2500 0.7292 0.7292 0.7505 0.9026 0.3750 0.4866 0.4866 0.6258 0.7939 0.5000 0.2709 0.2709 0.5011 0.6570 0.6250 0.1230 0.1230 0.3763 0.5006 0.7500 0.0440 0.0440 0.2516 0.3335 0.8750 0.0117 0.0117 0.1269 0.1644 1.0000 0.0021 0.0021 0.0021 0.0021 1.1250 0.0002 0.0002 0.0019 -0.1446 1.2500 0.0000 0.0000 0.0016 -0.2670 1.3750 0.0000 0.0000 0.0014 -0.3564 1.5000 0.0000 0.0000 0.0011 -0.4038 1.6250 0.0000 0.0000 0.0009 -0.4007 1.7500 0.0000 0.0000 0.0006 -0.3381 1.8750 0.0000 0.0000 0.0004 -0.20742.0000 0.0002 0.0002 0.0002 0.0002选做第五题:5确定地球与金星之间的距离天文学家在1914年8月份的7次观测中,测得地球与金星之间距离(单位:米),并取其常用对数值,与日期的一组历史数据如表7.3。表7.3日期(号)18202224262830距离对数9.96177249.95436459.94680699.93909509.93122459.92319159.9149925由此推断何时金星与地球的距离(米)的对数值为9.9351799?解:用matlab做分段插值运算: Date=18,20,22,24,26,28,30;Distance=9.9617724 9.9543645 9.9468069 9.9390950 9.9312245 9.9231915 9.9149925 ;D=18:0.001:30;Distance0=9.9351799;Dis=interp1(Date,Distance,D);plot(Date,Distance,'r+',D,Dis),hold on,plot(Date,Distance,'k',D,Distance0,'k-'),title('地球与金星的距离随时间的变化曲线');xlabel('Date');ylabel('Distance');>> grid on, 用matlab图形的放大功能:从图中可读出大致时间约为Date=25,即第25天金星与地球的距离(米)的对数值为9.9351799。应用实验(或综合实验)一、实验内容7山区地貌图 在某山区(平面区域(0,2800)´(0,2400)内,单位:米)测得一些地点的高程(单位:米)如表7.5,试作出该山区的地貌图和等高线图。表7.52400200016001200 800 400 01430 1450 1470 1320 1280 1200 1080 9401450 1480 1500 1550 1510 1430 1300 12001460 1500 1550 1600 1550 1600 1600 16001370 1500 1200 1100 1550 1600 1550 13801270 1500 1200 1100 1350 1450 1200 11501230 1390 1500 1500 1400 900 1100 10601180 1320 1450 1420 1400 1300 700 900Y/X 0 400 800 1200 1600 2000 2400 2800 二、问题分析 三、数学模型的建立与求解 四、实验结果及分析解:matlab语句:x=0:400:2800;y=0:400:2400;high=1180 1320 1450 1420 1400 1300 700 900;1230 1390 1500 1500 1400 900 1100 1060;1270 1500 1200 1100 1350 1450 1200 1150;1370 1500 1200 1100 1550 1600 1550 1380;1460 1500 1550 1600 1550 1600 1600 1600;1450 1480 1500 1550 1510 1430 1300 1200;1430 1450 1470 1320 1280 1200 1080 940;xi=0:50:2800;xi=xi'yi=0:50:2800;hei=interp2(x,y,high,xi,yi,'cubic');mesh(xi,yi,hei)>> xlabel('x');>> ylabel('y');>> zlabel('high');地貌图如下: 用matlab的图形旋转功能,俯视地貌图可得图像: 五、附录总结与体会1、 本次实验加深了对插值法的理解。2、 本次实验进一步加深了对MATLAB的应用。3、 本次实验基本掌握了一维插值、二维插值的方法。6_