数学建模matlab插值与拟合

上传人:飞*** 文档编号:49117144 上传时间:2018-07-23 格式:PPT 页数:100 大小:857KB
返回 下载 相关 举报
数学建模matlab插值与拟合_第1页
第1页 / 共100页
数学建模matlab插值与拟合_第2页
第2页 / 共100页
数学建模matlab插值与拟合_第3页
第3页 / 共100页
数学建模matlab插值与拟合_第4页
第4页 / 共100页
数学建模matlab插值与拟合_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《数学建模matlab插值与拟合》由会员分享,可在线阅读,更多相关《数学建模matlab插值与拟合(100页珍藏版)》请在金锄头文库上搜索。

1、2012数学建模培训培训内容1. 插值与拟合; 2. 灰色系统; 3. 层次分析法;(重要) 4. 模糊数学方法;(重要) 5. 时间序列与马氏链; 6. 多元分析与Spss;(重要) 7. 数学规划与Lingo;(重要) 8. 图论模型及其Matlab程序;9. 建模论文写作; 10. 建模案例讲评。培训内容基本上覆盖了数学建模中大部分常用的数学方法。我们相信,通过刻 苦钻研,努力学习,掌握了上述方法后, 必将大大提高建立数学模型和运用计算机 解决实际问题的综合能力,也一定会在全 国建模大赛中取得较好成绩。培训方式由于培训内容众多且有相当难度,而培训时间又较短,所以如果学生不事先认 真预习相

2、关内容,那么在课堂上不可能完 全听懂老师所讲内容,大部分学生会云山 雾罩,一头雾水,从而使得培训效果大打 折扣。综上,强烈建议学生课前认真、反复 研读授课 PPT和其它相关资料,然后带着疑问和兴趣再听老师讲解,这样才能保证 培训效果。培训以讲解为主,适当穿插提问、讨论。学生普遍疑惑的问题,也可当堂咨询 老师。上机软件与上机练习众所周知,在建模竞赛中,能否熟练使用相关数学软件是能否取得好成绩的关 键之一。因此,数学软件的培训应该是建 模培训的重要内容。建模中常用的数学软件有Matlab,Spss, Lingo,Maple等。由于培训时间有限,在课堂上只能简 单介绍Spss和Lingo,而Matl

3、ab 和Maple只能在上机过程中穿插介绍。几乎所有的数学方法最终都要用数学软件和程序实现,所以上机练习是与课堂 讲授同等重要的培训内容。上机训练的主要目的和内容是通过练习,掌握实现各类数学方法的数学软件和 程序。上机所用数学软件和程序主要由教师提供,学生只要会用即可。但需要提醒同学们注意的是,现成的软件和程序不可能 解决建模中的所有问题。通过上机训练, 掌握一些基本编程和计算技能(如用matlab 做数据处理、画图, 用maple做简单的解析 计算),对于参加建模竞赛是绝对必要的。上机前,辅导老师会布置上机练习,提供相关软件或程序,讲解关键步骤和程 序语句。上机过程中,辅导老师负责解答 学生

4、的疑难问题。第一讲 插值与拟合插值与拟合属数值分析中函数逼近内容。在数学建模竞赛中,插值与拟合是一 种常用的数据分析手段,被公认为建模中 的十大算法之一。本节首先通过具体问题引出插值问题 与拟合问题,然后简要介绍Matlab中的插值和拟合的相关命令,最后给出两个应用 插值和拟合的建模实例。本节要求学生:(1) 理解插值问题和拟合问题;在实际中会正确地判断、选择插值或拟合方法。(2) 了解高次插值的Runge 现象及避免方法。(3) 熟悉Matlab中一维插值(interp1)、 二维插值(interp2) 、散乱点插值(griddata) 及相关命令(surf,mesh,meshgrid,co

5、ntour)。(4) 熟悉Matlab中多项式拟合(polyfit)、最小二乘曲线拟合(lsqcurvefit)命令。(5) 掌握Matlab编程的基本知识与技能,如数组及运算、调用,循环与控制语句, 绘图相关命令,函数(m文件)的定义和调用等。一、插值问题与拟合问题引例 矿井中某处的瓦斯浓度 y 与该处 距地面的距离x有关,现用仪器测得从地面 到井下500米每隔50米的瓦斯浓度数据(xi,yi) (i=0,1,10),根据这些数据完成下列工作: (1) 寻找一个函数,要求由此函数可近似求 得从地面到井下500米之间任意点处的瓦斯 浓度;(2) 估计井下600米处的瓦斯浓度。第一个问题可归结为

6、“已知函数在x0,x1, ,xn处的值,求函数在区间x0,xn内其它点 处的值”,这种问题适宜用插值方法解决。插值问题可描述为:已知函数在x0,x1, ,xn处的值y0,y1,yn,求函数p(x),使p(xi) = yi。但对第二个问题不宜用插值方法,因为 600米已超出所给数据范围,用插值函数外推插值区间外的数据会产生较大的误差。 解决第二个问题的常用方法是,根据 地面到井下 500 处的数据求出瓦斯浓度与 地面到井下距离x之间的近似函数关系f(x), 由f(x)求井下600米处的瓦斯浓度。插值函数过已知点,拟合函数不一定 过已知点。通常, 插值主要用于求函数值,而拟合的主要目的是求函数关系

7、。当然, 某些问题既可以用插值也可以用拟合。二、高次插值中的Runge现象通常选用多项式作为插值函数。在研究插值问题的初期,所有人都认为插值多 项式的次数越高,插值精度越高。Runge 通过对一个例子的研究发现,上述结论仅仅在插值多项式的次数不超过 七时成立;插值多项式的次数超过七时, 插值多项式会出现严重的振荡现象,称之 为Runge现象。例1 ,节点,求插值多项式 。用Maple (Matlab高次插值功能较弱) 可 方便地求出120次插值多项式,通过图形 观察插值效果,见Maple程序演示。 Runge现象避免 Runge 现象的常用方法是:将插值区间分成若干小区间,在小区间内用低 次

8、(二次,三次) 插值,即分段低次插值,如样条函数插值 。 样条插值结果三、Matlab插值Maple 和 Matlab 等数学软件可方便地进行一维和二维多项式插值和样条插值, 其中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为被插

9、值点和插值 结果,x,y和xi,yi通常为向量;method表示 插值方法:nearest最邻近插值, linear 线性插值, spline三次样条插值, cubic立方插值,缺省为线性插值。 例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 9 9 10 18 24 28 27 25 20 18 15 13;x1=13;y1=interp1(x,y,x1,spline)xi=0:1/3600:24;yi

10、=interp1(x,y,xi, spline);plot(x,y, *,xi,yi) 运行结果:y1=27.87请理解、掌握程序中的每个语句,并 改变插值方法,观察图形变化。 例3 已知飞机下轮廓线上数据如下, 分别画出高次插值(Lagrange)、分段线性插值、样条插值的飞机下轮廓线。 机翼下 轮廓线 xyMatlab程序 function plane x0=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

11、,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+,x,y2,r) grid title(piecewise linear) subplot(3,1,3) plot(x0,y0,k+,x,y3,r)grid title(spline) function y=lagrange(x0,y0,x) n=length(x0);m=length(x); for i=1:mz=x(i);s=0.0;for k=1:np

12、=1.0; for j=1:nif j=kp=p*(z-x0(j)/(x0(k)-x0(j);endends=p*y0(k)+s;endy(i)=s; end例3的程序较例2复杂,现说明如下:(1) 由于Matlab中没有Lagrange高次插 值功能(Maple有),所以程序中单独编写了 高次插值函数lagrange,然后调用;(2) 程序中使用了子图形(subplot)、添 加网格 (grid)和标题 (title)、循环和条件语句等。请各位通过上机理解、掌握上述命令, 特别是函数的定义及调用。 2. 二维插值 二维插值的典型命令是interp2, 其基本 格式为zi= interp2(x

13、,y,z,xi,yi, method)。二维插值命令的理解和使用较复杂。x,y,z为插值点,z可以理解为被插值函 数在(x,y)处的值;xi,yi为被插值点, zi为输 出的插值结果,可理解为插值函数在(xi,yi) 处的值;x,y为向量,xi, yi为向量或矩阵, 而z和zi则为矩阵。method表示插值方法:nearest最邻 近插值, linear双线性插值, spline双三 次样条插值, cubic双立方插值, 缺省为双线性插值。 例4 测得平板表面3*5网格点处的温度分别为: 82 81 80 82 84 79 63 61 65 81 84 84 82 85 86 做出平板表面的温

14、度分布曲面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=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和con

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号