数学建模培训市公开课金奖市赛课一等奖课件_第1页
数学建模培训市公开课金奖市赛课一等奖课件_第2页
数学建模培训市公开课金奖市赛课一等奖课件_第3页
数学建模培训市公开课金奖市赛课一等奖课件_第4页
数学建模培训市公开课金奖市赛课一等奖课件_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 数学建模培训10/10/1第1页引 言10/10/2第2页 参加数学建模竞赛主要目标自然是取得好成绩。 影响建模竞赛成绩原因众多,本人将其总结为以下四个方面: 知识,技能,经验,运气。1. 知识 开展大学生数学建模竞赛初衷是培养、提升大学生利用数学知识和10/10/3第3页计算机技术处理实际问题能力。这里所说“知识”就是指参加数学建模竞赛所需应用数学知识和方法。 试想,假如连基本数学建模方法都不熟悉,那参加数学建模竞赛只能完全靠“忽悠”。 对于这一点,经历过数学建模网络挑战赛学生应该深有体会。10/10/4第4页 在十五天暑期培训中,主要介绍各类数学建模基本方法,即主要处理“知识”问题。2.

2、 技能 即使掌握了数学建模基本方法也不足以确保能在竞赛中取得好成绩,数学建模竞赛还对参赛者提出了很高技能要求。10/10/5第5页 这里所说“技能”主要包含编程能力,使用相关应用软件(主要是数学软件)能力, 论文写作和编辑能力,网上资料搜集能力等。 本人认为,从数学建模竞赛发展趋势看,“技能”越来越比“知识”主要,理由以下: (1) 近年来数学建模竞赛题目(10/10/6第6页尤其是硕士建模题目)关键点和难点往往在于编程。比如,B题“创意折叠桌”问题并不需要什么经典数学建模方法,只要能编程计算出合理结果就能取得好成绩; A题“储油罐标定”和B题“太阳能小屋设计”也属这类问题。 (2) “知识”

3、培训和掌握相对来10/10/7第7页说并不太难,而“技能”提升则需要一个过程,还需要一点天赋,短期培训极难取得显著效果。 在培训中,会适当介绍一些数学软件使用、编程和写作,希望对提升大家技能有所帮助。3. 经验 经验对于做任何事情都是非常重10/10/8第8页要。 这里所说“经验”主要表现在以下方面: (1) 怎样选择题目? (2) 怎样搜集相关资料、数据? (3) 怎样进行组员分工, 怎样把握“做”与“写”进度? (4) 怎样对一些疑难问题进行“忽10/10/9第9页悠”,忽悠到什么程度? (5) 论文写作时怎样扬长避短? (6) 怎样准备复评? 经验靠积累。让基本不掌握数学建模方法学生直接

4、参加网络挑战赛作法看似荒谬,但参赛学生最少从头到尾经历了一次完整竞赛,积累了宝贵经验,是有意义。10/10/10第10页4. 运气 做事不能只靠运气。但不可否定,运气偶然确能左右事情结局。 在数学建模竞赛中,运气好坏也可能影响竞赛成绩。比如,能否遇见踏实能干队友、认真负责指导老师、心态正常评委等。10/10/11第11页 最终,送给各位本人总结四句名言:知识靠学;技能靠练;经验靠赛;运气靠碰。10/10/12第12页培训内容与方式10/10/13第13页培训内容1. 插值与拟合;2. 灰色关联分析与灰色预测;3. 层次分析法;4. 含糊综合评价;5. 均值比较与方差分析;6. 相关分析与回归分

5、析;7. 时间序列分析(一);10/10/14第14页8. 时间序列分析(二);9. 综合预测实例;10. 主成份分析与因子分析;11. 聚类分析与判别分析;12. 综合评价实例;13. 数学建模论文写作与编辑;14. 图论模型及其Matlab程序;15. 数学规划与Lingo。10/10/15第15页 培训内容覆盖了数学建模中大部分惯用数学方法。经过刻苦钻研,努力学习,掌握了上述方法后,必将大大提升应用数学知识和计算机处理实际问题综合能力,也一定会在全国建模大赛中取得很好成绩。10/10/16第16页培训方式 因为培训内容众多且有相当难度,而培训时间又较短,所以假如学生不事先认真预习相关内容

6、,那么在课堂上不可能完全听懂老师所讲内容,大部分学生会云山雾罩,一头雾水,从而使得培训效果大打折扣。 综上,强烈提议学生课前认真、10/10/17第17页重复研读讲课PPT和其它相关资料,然后带着疑问和兴趣再听老师讲解,这么才能确保培训效果。 培训PPT及软件、程序下载邮箱: MM: matlabmaple 培训以讲解为主,学生如有疑问, 可在下午上机辅导时向老师咨询。10/10/18第18页上机操作与练习10/10/19第19页 众所周知,在建模竞赛中,能否熟练使用相关数学软件是能否取得好成绩关键之一。所以,数学软件培训应该是建模培训主要内容。 建模中惯用数学软件有Matlab, SPSS,

7、 Lingo, Maple等。 因为培训时间有限,在课堂上只能重点介绍SPSS,而Matlab等只能在10/10/20第20页上机过程中穿插介绍。 几乎全部数学方法最终都要用数学软件和程序实现,所以上机练习也是比较主要培训内容。 上机训练主要目标和内容是经过练习,掌握实现各类数学方法数学软件和程序。 上机所用数学软件和程序主要由10/10/21第21页教师提供,学生只要会用即可。 但需要提醒同学们注意是,现成软件和程序不可能处理建模中全部问题。经过上机训练,掌握一些基本编程和计算技能(如用Matlab做数据处理、画图, 用Maple做简单解析计算),对于参加建模竞赛是绝对必要。10/10/22

8、第22页 上机前,培训老师会布置上机练习,提供相关软件或程序,讲解关键步骤和程序语句。上机过程中,辅导老师负责解答学生疑难问题。题外话 尤其要提醒大家是,国赛完全不一样于网络挑战赛,题目标难度和开放性适中,有答题关键点、参考方法,10/10/23第23页甚至有参考答案;初评评委大部分由指导教师担任,评阅结果通常比较合理、靠谱。那种连基本建模方法都不懂竟然也能获大奖现象在国赛中几乎是不可能发生,全国一等奖论文必须模型、方法合理,结果基本可信、正确,写作清楚、规范。 一句话,建模不能全靠忽悠。10/10/24第24页第1讲 插值与拟合10/10/25第25页一、引 言10/10/26第26页 插值

9、与拟合是数学建模中一个基本数据分析伎俩,被公认为建模中惯用算法之一。 在A“城市土壤污染分析”、A“车道被占对道路通行能力影响”、A“嫦娥三号软着陆轨道设计与控制策略”中均用到插值或拟合。10/10/27第27页 本讲第一部分首先介绍了插值问题、插值原理、高次插值Runge现象,然后讲解了Matlab中一维和二维插值命令。 第二部分首先介绍了拟合问题、拟合原理与步骤, 然后介绍了Matlab和Origin拟累计算。 本讲首先要了解插值问题和拟合10/10/28第28页问题特点,其次要了解插值和拟合原理与方法,尤其要熟练掌握利用Matlab和Origin等软件进行插值和拟合相关命令和技能,另外还

10、要掌握Matlab编程基本知识与技能。10/10/29第29页二、插 值10/10/30第30页1. 插值问题 例1 在一天二十四小时内,从零点开始每间隔2小时测得环境温度数据分别为12,9,9,10,18 ,24,28, 27,25,20,18,15,13,推测中午1点温度,并做出二十四小时温度改变曲线图。10/10/31第31页 例2 已知飞机下轮廓线上数据以下,画出飞机下轮廓线。 机翼下轮廓线xy10/10/32第32页 例3 测得平板表面3*5网格点处温度分别为: 82 81 80 82 84 79 63 61 65 81 84 84 82 85 86 做出平板表面温度分布曲面z=f(

11、x,y)图形及等温线,并求出温度最高和最低点。 10/10/33第33页 上述问题可归结为“已知函数在某区间(域)内若干点处值, 求函数在该区间(域)内其它点处值”,这种问题适宜用插值方法处理。 一维插值问题可描述为:已知函数在x0, x1, , xn处值y0, y1, yn,求简单函数 p(x),使 p(xi) = yi。 p(xi) = yi称为插值条件。10/10/34第34页 通常取 p(x)为多项式。 能够用范德蒙行列式和克莱姆法则证实(习题集第一章最终一题): 在x0, x1, , xn处取值y0, y1, , yn多项式存在且唯一,即插值问题解唯一存在。 惯用插值方法有Lagra

12、nge插值法和Newton插值法。10/10/35第35页2. 高次插值Runge现象 在研究插值问题早期,全部些人都想当然地认为插值多项式次数越高,插值精度越高。 Runge 经过对一个例子研究发觉,上述结论仅仅在插值多项式次数不超出七时成立;插值多项式次数超出七时,插值多项式会出现严重10/10/36第36页振荡现象,称之为Runge现象。10/10/37第37页 所以,在实际中不应使用七次以上插值。 防止Runge现象惯用方法是:将插值区间分成若干小区间,在小区间内用低次(二次,三次)插值,即分段低次插值,如样条函数插值。10/10/38第38页样条插值结果10/10/39第39页三、M

13、atlab插值10/10/40第40页 Maple和Matlab都能够进行插值计算,Maple一维插值计算较为便捷,而Matlab二维插值功效较强,还能进行散乱点插值。 本节主要介绍Matlab一维和二维插值命令,大家务必要经过上机操作熟悉这些命令,同时还要初步掌握Matlab基础知识与技能。10/10/41第41页1. 一维插值 一维插值命令是interp1, 其基本格式为yi=interp1(x,y,xi, method)。 x,y为插值点,xi,yi为被插值点和插值结果,x,y和xi,yi通常为向量;method表示插值方法:nearest最邻近插值,linear线性插值, spline

14、三次样条插值,cubic立10/10/42第42页方插值,缺省为线性插值。例1Matlab程序 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)10/10/43第43页 请了解掌握程序中每个语句,并改变插值方法,观察图形改变。10/10/44第44页例2Matlab程序function planex0=0 3 5 7 9 11 12 13 14 15 ;y0=0 1.2

15、 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);10/10/45第45页plot(x0,y0,k+,x,y1,r);grid;title(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);10/10/46第46页gr

16、id;title(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; 10/10/47第47页 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;end10/10/48第48页10/10/49第49页 例2程序较复杂,说明以下: (1) 程序依次用Lagrange、分段线性和三次样条三种插值方法进行了计算,其中Lagrange高次插值显著出现

17、了Runge现象; (2) 因为Matlab没有Lagrange高次插值功效,所以程序中单独编写了高次插值函数lagrange,然后调用;10/10/50第50页 (3) 程序包括到了数组、循环和条件语句、子函数定义与调用以及一些绘图命令(subplot,grid,title)等。 请大家经过上机了解、掌握上述命令,尤其是函数定义及调用。 Matlab中提供了专门用于样条函数插值及相关计算工具箱Spline Toolbox,有兴趣同学能够查阅。10/10/51第51页2. 二维插值 二维插值命令是interp2, 基本格式为zi=interp2(x,y,z,xi,yi,method)。 二维插

18、值命令使用较复杂。 x,y,z为插值点,z能够了解为被插值函数在(x,y)处值;xi,yi为被插值点, zi为输出插值结果,可了解为插值函数在(xi,yi)处值;x,y为向10/10/52第52页量,xi,yi为向量或矩阵,而z和zi则为矩阵。 method表示插值方法:neares t最邻近插值, linear双线性插值, spline双三次样条插值,cubi c双立方插值,黙认双线性插值。10/10/53第53页例3Matlab程序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,

19、y,temps);xi=1:0.2:5;yi=1:0.2:3;10/10/54第54页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)10/10/55第55页 上述程序较复杂,说明以下: (1) interp2中xi为行向量, 而yi为列向量, 其实xi和

20、yi行列不一样即可。 (2) plot3(空间曲线), mesh(空间曲面), surf (空间曲面), contour(等高线)是三维作图中惯用命令。mesh和surf区分是:mesh画是曲面网格图,而surf画是曲面表面图。10/10/56第56页 contour(x,y,z,n)功效是作出由点(x,y,z)插值而成曲面n条等高线。 用meshc和surfc可在曲面下方画等高线。meshz和surfz是画垂帘图。 (3) 程序最终部分为求最高(低)点,请各位经过上机琢磨min, max尤其是find功效。 (4) 将程序中 figure 语句去除,通10/10/57第57页过观察结果,体味

21、figure作用。 例4 在某山区测得一些地点高程以下表。平面区域为 0 x5600, 0y12时数据出现了巨大误差。 样条插值第一个图表明样条插值能够很好地处理第一个问题,但第二个图显示,用样条插值外推t12时数据也会产生较大误差。 综上,第2问不宜用插值方法。 处理第2问惯用方法是,依据110/10/83第83页到12点间温度数据求出温度与时间之间近似函数关系f(t),由f(t)推断t =13.5时温度。 这种依据离散数据求数据间近似函数关系问题称为曲线拟合问题。 拟合问题与插值问题区分在于: (1) 插值函数过已知点,而拟合函数不一定过已知点;10/10/84第84页 (2) 插值主要用

22、于求函数值,而拟合主要目标是求近似函数关系,从而进行预测等深入分析。 当然,一些特定问题既能够用插值也能够用拟合。 例7也属经典拟合问题。求出浓度y与时间x函数关系y=f(x)后,再求导数即得反应速度函数。10/10/85第85页2. 拟合计算 曲线拟合需处理以下两个问题: (1) 线型选择;(2) 线型中参数计算。 线型选择是拟累计算关键和难点。通常主要依据专业知识和散点图确定线型。 线性拟合中参数计算可采取最10/10/86第86页小二乘法,而非线性拟合参数计算则要应用Gauss-Newton迭代法。 许多软件如Matlab等都能够进行拟累计算,其中Origin最为专业。 Origin不但

23、能进行参数计算,还提供了大量线型供选择,可方便地进行一维和二维拟合。 10/10/87第87页3. Matlab拟合(1) 多项式拟合 Matlab多项式拟合命令格式为: a,S=polyfit(x,y,n)其中,x和y是被拟合数据自变量和因变量;n为拟合多项式次数;a为拟合多项式系数组成向量;S为分析拟合效果所需指标(可省略)。 10/10/88第88页 例6最简单Matlab程序为:x=1:12;y=5, 8, 9, 15, 25, 29, 31, 30, 22, 25, 27, 24;a=polyfit(x,y,9)xp=1:0.1:12;yp=polyval(a,xp);plot(x,

24、y,.k,xp,yp,r);10/10/89第89页9次多项式拟合结果10/10/90第90页(2) 非线性拟合 Matlab非线性拟合命令格式为: b,r=nlinfit(x,y,fun,b0,option)其中,x和y是被拟合数据自变量和因变量;fun为拟合函数;b0为拟合参数初始迭代值;option为拟合选项;b为拟合参数;r为拟合残差。 例7Matlab拟合程序为:10/10/91第91页x=1:16;y=4.00 6.40 8.00 8.80 9.22 9.50 9.70 9.86 10.00 10.20 10.32 10.42 10.50 10.55 10.58 10.60;y1=

25、(b,t)b(1)*exp(-t/b(2)+b(3)*exp(-t/b(4) +b(5);b0=-1 1 -1 1 1;a=nlinfit(x,y,y1,b0)xp=1:0.1:16; yp=y1(a,xp);plot(x,y,.k,xp,yp,r);10/10/92第92页非线性拟合结果10/10/93第93页 用Matlab编程进行拟合有很多不方便。 (1) 需要编程。比如在例7程序中要用到匿名函数,这对初学者而言并不轻易。 (2) 拟合结果不完整。Matlab拟合命令普通只提供拟合系数等基本结果。若要获取表示拟合优劣统计量10/10/94第94页有时需要另外计算。 (3) 不能确保非线性

26、拟合迭代收敛。因为非线性拟合初始迭代参数需要人为取定,所以不能确保迭代一定收敛。 有兴趣学生能够将例7程序中b0改为1 1 1 1 1一试。10/10/95第95页4. Matlab拟合工具箱 为了更加好、更便捷地进行拟合,Matlab提供了拟合工具箱。(1) 工具箱开启 在命令窗口键入 cftool 即可开启拟合工具箱。(2) 数据录入 在命令窗口录入自变量x和函数y10/10/96第96页数据,然后在Data菜单中即可选中上述数据,并产生Data sets。 此时工具箱会自动画出散点图。 (3) 拟合 点击Fitting-New fit,能够修改Fit name, 选择Data sets(

27、自动)和Type of Fit。 Apply后即可完成拟合。10/10/97第97页例6拟合结果f(x) = p1*x9 + p2*x8 + + p9*x + p10Coefficients (with 95% confidence bounds): p1 = 7.539e-005 (-0.0003157, 0.0004665) p2 = -0.004425 (-0.02732, 0.01847) p9 = 492.8 (-1832, 2817) p10 = -195 (-1118, 728.2)Goodness of fit: SSE: 9.399 R-square: 0.9899 Adju

28、sted R-square: 0.9443 RMSE: 2.16810/10/98第98页10/10/99第99页例7拟合结果 f(x) = a*exp(b*x) + c*exp(d*x)Coefficients (with 95% confidence bounds): a = 9.364 (9.148, 9.581) b = 0.008339 (0.006474, 0.0102) c = -9.814 (-10.32, -9.311) d = -0.5864 (-0.6399, -0.5328)Goodness of fit: SSE: 0.06191 R-square: 0.9987 A

29、djusted R-square: 0.9984 RMSE: 0.0718310/10/100第100页10/10/101第101页 若想选择自定义函数,能够选定Type of Fit中Custom Equations,然后定义新函数。10/10/102第102页5. Origin介绍 Origin是美国MicroCal企业开发数据分析和绘图软件。 Origin能够非常方便地进行各类二维和三维图绘制,所绘图形精美,可在Word, PPT中进行编辑、修改。 Origin数据分析功效包含插值,微积分, 简单统计分析, Fourier变换,10/10/103第103页滤波等,但最具特色是拟合功效。 Origin不但提供了数百种曲线和曲面供选择,而且还允许自创曲线和曲面线型。 Origin操作较为简单,基本上只需要经过菜单即可完成全部操作。 Origin拟合过程以下: (1) 建立拟合数据, 作出散点图。10/10/104第104页 拟合数据能够在Origin输入,也能够直接调用Excel文件。 (2) 选定拟合线型。 打开AnalysisFitting菜单,可直接选择Linear, Polynomial或Nonli near Fit,在NLFit对话框中,依据散点图形状,选择适当线型。 (3) 点Fit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论