数学建模matlab插值与拟合ppt课件.ppt
《数学建模matlab插值与拟合ppt课件.ppt》由会员分享,可在线阅读,更多相关《数学建模matlab插值与拟合ppt课件.ppt(100页珍藏版)》请在三一办公上搜索。
1、2012数学建模培训,培训内容1.插值与拟合;2.灰色系统;3.层次分析法;(重要)4.模糊数学方法;(重要)5.时间序列与马氏链;6.多元分析与Spss;(重要)7.数学规划与Lingo;(重要)8.图论模型及其Matlab程序;,9.建模论文写作;10.建模案例讲评。培训内容基本上覆盖了数学建模中大部分常用的数学方法。我们相信,通过刻苦钻研,努力学习,掌握了上述方法后,必将大大提高建立数学模型和运用计算机解决实际问题的综合能力,也一定会在全国建模大赛中取得较好成绩。,培训方式 由于培训内容众多且有相当难度,而培训时间又较短,所以如果学生不事先认真预习相关内容,那么在课堂上不可能完全听懂老师
2、所讲内容,大部分学生会云山雾罩,一头雾水,从而使得培训效果大打折扣。综上,强烈建议学生课前认真、反复研读授课 PPT和其它相关资料,然后带着,疑问和兴趣再听老师讲解,这样才能保证培训效果。培训以讲解为主,适当穿插提问、讨论。学生普遍疑惑的问题,也可当堂咨询老师。,上机软件与上机练习 众所周知,在建模竞赛中,能否熟练使用相关数学软件是能否取得好成绩的关键之一。因此,数学软件的培训应该是建模培训的重要内容。建模中常用的数学软件有Matlab,Spss,Lingo,Maple等。由于培训时间有限,在课堂上只能简单介绍Spss和Lingo,而Matlab 和Maple只,能在上机过程中穿插介绍。几乎所
3、有的数学方法最终都要用数学软件和程序实现,所以上机练习是与课堂讲授同等重要的培训内容。上机训练的主要目的和内容是通过练习,掌握实现各类数学方法的数学软件和程序。上机所用数学软件和程序主要由教师提供,学生只要会用即可。但需要提醒同,学们注意的是,现成的软件和程序不可能解决建模中的所有问题。通过上机训练,掌握一些基本编程和计算技能(如用matlab做数据处理、画图,用maple做简单的解析计算),对于参加建模竞赛是绝对必要的。上机前,辅导老师会布置上机练习,提供相关软件或程序,讲解关键步骤和程序语句。上机过程中,辅导老师负责解答学生的疑难问题。,第一讲 插值与拟合,插值与拟合属数值分析中函数逼近内
4、容。在数学建模竞赛中,插值与拟合是一种常用的数据分析手段,被公认为建模中的十大算法之一。本节首先通过具体问题引出插值问题与拟合问题,然后简要介绍Matlab中的插值和拟合的相关命令,最后给出两个应用插值和拟合的建模实例。,本节要求学生:(1)理解插值问题和拟合问题;在实际中会正确地判断、选择插值或拟合方法。(2)了解高次插值的Runge 现象及避免方法。(3)熟悉Matlab中一维插值(interp1)、二维插值(interp2)、散乱点插值(griddata)及相关命令(surf,mesh,meshgrid,contour)。(4)熟悉Matlab中多项式拟合(polyfit)、,最小二乘曲
5、线拟合(lsqcurvefit)命令。(5)掌握Matlab编程的基本知识与技能,如数组及运算、调用,循环与控制语句,绘图相关命令,函数(m文件)的定义和调用等。,一、插值问题与拟合问题,引例 矿井中某处的瓦斯浓度 y 与该处距地面的距离x有关,现用仪器测得从地面到井下500米每隔50米的瓦斯浓度数据(xi,yi)(i=0,1,10),根据这些数据完成下列工作:(1)寻找一个函数,要求由此函数可近似求得从地面到井下500米之间任意点处的瓦斯浓度;(2)估计井下600米处的瓦斯浓度。,第一个问题可归结为“已知函数在x0,x1,xn处的值,求函数在区间x0,xn内其它点处的值”,这种问题适宜用插值
6、方法解决。插值问题可描述为:已知函数在x0,x1,xn处的值y0,y1,yn,求函数p(x),使p(xi)=yi。但对第二个问题不宜用插值方法,因为600米已超出所给数据范围,用插值函数外推插值区间外的数据会产生较大的误差。,解决第二个问题的常用方法是,根据地面到井下 500 处的数据求出瓦斯浓度与地面到井下距离x之间的近似函数关系f(x),由f(x)求井下600米处的瓦斯浓度。插值函数过已知点,拟合函数不一定过已知点。通常,插值主要用于求函数值,而拟合的主要目的是求函数关系。当然,某些问题既可以用插值也可以用拟合。,二、高次插值中的Runge现象,通常选用多项式作为插值函数。在研究插值问题的
7、初期,所有人都认为插值多项式的次数越高,插值精度越高。Runge 通过对一个例子的研究发现,上述结论仅仅在插值多项式的次数不超过 七时成立;插值多项式的次数超过七时,插值多项式会出现严重的振荡现象,称之为Runge现象。,例1,节点,求插值多项式。用Maple(Matlab高次插值功能较弱)可方便地求出120次插值多项式,通过图形观察插值效果,见Maple程序演示。,Runge现象,避免 Runge 现象的常用方法是:将插值区间分成若干小区间,在小区间内用低次(二次,三次)插值,即分段低次插值,如样条函数插值。,样条插值结果,三、Matlab插值,Maple 和 Matlab 等数学软件可方便
8、地进行一维和二维多项式插值和样条插值,其中Matlab的二维插值功能较强。Maple中的插值和样条插值命令分别为interp和spline。例如,interp(1,3,4,7,3,5,4,9,x);spline(1,3,4,7,3,5,4,9,x,cubic)。下面介绍Matlab中的插值命令。,1.一维插值 一维插值的典型命令是interp1,其基本格式为yi=interp1(x,y,xi,method)。x,y为插值点,xi,yi为被插值点和插值结果,x,y和xi,yi通常为向量;method表示插值方法:nearest最邻近插值,linear线性插值,spline三次样条插值,cubic
9、立方插值,缺省为线性插值。,例2 在一天24小时内,从零点开始每间隔2小时测得的环境温度数据分别为12,9,9,10,18,24,28,27,25,20,18,15,13,推测中午1点温度,并做出24小时温度曲线图。,Matlab程序 x=0:2:24;y=12 991018 2428272520 18 15 13;x1=13;y1=interp1(x,y,x1,spline)xi=0:1/3600:24;yi=interp1(x,y,xi,spline);plot(x,y,*,xi,yi)运行结果:y1=27.87,请理解、掌握程序中的每个语句,并改变插值方法,观察图形变化。,例3 已知飞机
10、下轮廓线上数据如下,分别画出高次插值(Lagrange)、分段线性插值、样条插值的飞机下轮廓线。,Matlab程序function planex0=0 3 5 7 9 11 12 13 14 15;y0=0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6;x=0:0.1:15;y1=lagrange(x0,y0,x);y2=interp1(x0,y0,x);y3=interp1(x0,y0,x,spline);subplot(3,1,1),plot(x0,y0,k+,x,y1,r)gridtitle(lagrange)subplot(3,1,2)plot(x0,y0,k
11、+,x,y2,r)gridtitle(piecewise linear)subplot(3,1,3)plot(x0,y0,k+,x,y3,r),gridtitle(spline)function y=lagrange(x0,y0,x)n=length(x0);m=length(x);for i=1:m z=x(i);s=0.0;for k=1:n p=1.0;,for j=1:n if j=k p=p*(z-x0(j)/(x0(k)-x0(j);end end s=p*y0(k)+s;end y(i)=s;end,例3的程序较例2复杂,现说明如下:(1)由于Matlab中没有Lagrange高
12、次插值功能(Maple有),所以程序中单独编写了高次插值函数lagrange,然后调用;(2)程序中使用了子图形(subplot)、添加网格(grid)和标题(title)、循环和条件语句等。请各位通过上机理解、掌握上述命令,特别是函数的定义及调用。,2.二维插值 二维插值的典型命令是interp2,其基本格式为zi=interp2(x,y,z,xi,yi,method)。二维插值命令的理解和使用较复杂。x,y,z为插值点,z可以理解为被插值函数在(x,y)处的值;xi,yi为被插值点,zi为输出的插值结果,可理解为插值函数在(xi,yi)处的值;x,y为向量,xi,yi为向量或矩阵,而z和z
13、i则为矩阵。,method表示插值方法:nearest最邻近插值,linear双线性插值,spline双三次样条插值,cubic双立方插值,缺省为双线性插值。,例4 测得平板表面3*5网格点处的温度分别为:82 81 80 82 84 79 63 61 65 81 84 84 82 85 86 做出平板表面的温度分布曲面z=f(x,y)的图形及等温线,并求出温度最高和最低点。,Matlab程序x=1:5;y=1:3;temps=82 81 80 82 84;79 63 61 65 81;84 84 82 85 86;figure(1);mesh(x,y,temps)xi=1:0.2:5;yi=
14、1:0.2:3;,zi=interp2(x,y,temps,xi,yi,cubic)figure(2);mesh(xi,yi,zi)figure(3);contour(xi,yi,zi,20,r);i,j=find(zi=min(min(zi);x=xi(j),y=yi(i),zmin=zi(i,j)i,j=find(zi=max(max(zi);x=xi(j),y=yi(i),zmax=zi(i,j),上述程序较复杂,说明如下:(1)interp2中的xi为行向量,而yi为列向量,其实xi和yi行列不同即可。(2)mesh和contour是二维插值及绘图中的常用命令:plot3(空间曲线),
15、mesh(空间曲面)和surf(空间曲面)是3 维作图中的常用命令。mesh 和surf的区别是:mesh画的是曲面网格图,而surf画的是曲面表面图。,contour(x,y,z,n)的功能是作出由若干点(x,y,z)插值而成的曲面的n条等高线。用meshc和surfc也可在曲面下方画出等高线。meshz和surfz是画垂帘图。(3)程序的最后部分为求最高(低)点,请各位通过上机揣摩min,max特别是find的功能。(4)将程序中 figure 语句去除,通过观察结果,体味figure的作用。,例5 在某山区测得一些地点的高程如下表。平面区域为 0 x5600,0y4800试用Matalb
16、中的最邻近插值、双线性插值和双三次插值 3种方法作出该山区的地貌图和等高线图,并求出最高和最低点。,Matlab程序x=0:400:5600;y=0:400:4800;z=370 470 550 600 670 690 670 620 580 450 400 300 100 150 250;.510 620 730 800 850 870 850 780 720 650 500 200 300 350 320;.650 760 880 970 1020 1050 1020 830 900 700 300 500 550 480 350;.740 880 1080 1130 1250 1280
17、1230 1040 900 500 700 780 750 650 550;.830 980 1180 1320 1450 1420 1400 1300 700 900 850 840 380 780 750;.880 1060 1230 1390 1500 1500 1400 900 1100 1060 950 870 900 930 950;.910 1090 1270 1500 1200 1100 1350 1450 1200 1150 1010 880 1000 1050 1100;.950 1190 1370 1500 1200 1100 1550 1600 1550 1380 10
18、70 900 1050 1150 1200;.1430 1430 1460 1500 1550 1600 1550 1600 1600 1600 1550 1500 1500 1550 1550;.1420 1430 1450 1480 1500 1550 1510 1430 1300 1200 980 850 750 550 500;.1380 1410 1430 1450 1470 1320 1280 1200 1080 940 780 620 460 370 350;.1370 1390 1410 1430 1440 1140 1110 1050 950 820 690 540 380
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 matlab 拟合 ppt 课件

链接地址:https://www.31ppt.com/p-3174816.html