《数学建模竞赛必备资料ppt课件.ppt》由会员分享,可在线阅读,更多相关《数学建模竞赛必备资料ppt课件.ppt(97页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、主要内容主要内容如何面对数学建模竞赛赛题如何面对数学建模竞赛赛题1数学建模竞赛中的常用算法数学建模竞赛中的常用算法2数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法3数学建模竞赛论文的撰写数学建模竞赛论文的撰写4一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题直接影响竞赛答卷水平的一个重要问题是直接影响竞赛答卷水平的一个重要问题是参赛者不能正确面对竞赛题目。参赛者不能正确面对竞赛题目。 1、以为赛题就是某领域中的一个“原原本本”的实际问 题,因而生搬硬套该领域的专门资料;2、心存侥幸,想“找捷径”从网上下载自认为是直 接解答赛题的参考资料;3、沾沾自喜,认为赛题撞到枪口上用自己
2、所学的 专业知识就能拿下;一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题5、仅仅从字面上理解赛题对参赛者的要求以致该做的 没做、应答的未答;4、误以为在答卷中所用的数学知识越高深、计算方法 越新潮,才越有水平;6、不注意揣摩命题人的意图,忽视赛题具有的灵活性。一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 CUMCM章程的第二条:“竞赛题目一般来源于工程技术和管理科学等方面经过适当简化加工的实际问题,不要求参赛者预先掌握深入的专门知识,只需要学过高等学校的数学课程。题目有较大的灵活性供参赛者发挥其创造能力。参赛者应根据题目要求,完成一篇包括模型的假设、建立和求解、计算方法的
3、设计和计算机实现、结果的分析和检验、模型的改进等方面的论文。”一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 结合历年赛题,分四方面谈谈结合历年赛题,分四方面谈谈如何面对数模竞赛赛题。如何面对数模竞赛赛题。 一、一、沉着面对沉着面对 二、二、深入理解深入理解 三、三、准确把握准确把握 四、四、正确选题正确选题一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 一、沉着面对一、沉着面对 竞赛题目一般来源于工程技术和管理科学等 方面尚未解决至少是尚未完全解决的实际问题。 一般不存在现成的解答。同时,竞赛题目是经 过了适当简化加工的实际问题,并不要求参赛 者预先掌握深入的专门知识,也
4、不会让某类专业 的参赛者“近水楼台先得月” 。一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题例例1.1 CUMCM-2004B题题 (电力市场的输电阻塞管理电力市场的输电阻塞管理)充满了“出力”、“潮流”、“清算价”、“阻塞”、“安全裕度”、等等专业术语,不得不查阅电力市场的输电阻塞管理方面的专门知识。 其实不然,只要静下心来一遍又一遍仔细地看了这道题之后,就会发现题目中使用的专业术语的含义已经在题目中阐述得一清二楚了。 一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 经验告诉我们,完成经验告诉我们,完成CUMCM的赛题,并的赛题,并不要求参赛者预先掌握深入的专门知识不要求
5、参赛者预先掌握深入的专门知识。既然。既然赛题已将复杂的实际问题大大简化(这是前赛题已将复杂的实际问题大大简化(这是前进),那么,参赛者就不要反过来进),那么,参赛者就不要反过来“将简化后将简化后的赛题复杂化的赛题复杂化”(这是倒退)。(这是倒退)。参赛者凭已学参赛者凭已学过的基础知识、已积累起来的常识,再加上赛过的基础知识、已积累起来的常识,再加上赛前培训补充的相关知识,通常就可将赛题前培训补充的相关知识,通常就可将赛题“拿拿下下”了。了。一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题例例1.2 CUMCM-2009A题(制动器试验台的控制题(制动器试验台的控制方法分析)方法分析)
6、适当地查阅某些论文,或许有助于理解此题,但不可能找到此题的直接解答。这是由于为了形成这个赛题,命题者完全回避了温度、压力,因此是做了大幅度简化的,与一般的这类实际问题已不一样。正因为如此,无论参赛者学哪类专业,都不存在“沾光”或“吃亏”的差异。 一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 面对赛题应当沉着,既不要“望题生畏”,也不要“心存侥幸”。试想,如果有这么一道赛题,众多的参赛学生都无法下手;或者有那么一道赛题,会使少数专业的参赛学生大沾其光。那只能说明出题者没水平或组委会失职。我可以负责地告诉大家,在CUMCM中,过去、现在以及未来都不可能发生这样的事。一、如何面对数学建模
7、竞赛赛题一、如何面对数学建模竞赛赛题 一道好的赛题所需要的专门知识不一定广,一道好的赛题所需要的专门知识不一定广,所涉及的数学知识不一定深。做这样的赛题更应所涉及的数学知识不一定深。做这样的赛题更应当强调的是当强调的是“面向实际面向实际”的指导思想。的指导思想。 基本知识扎实固然重要,而在基本知识扎实固然重要,而在建立模型、设建立模型、设计计算法、计算机实现、分析计算结果以及撰写论算法、计算机实现、分析计算结果以及撰写论文等环节都能紧密结合所要解决的实际问题,才文等环节都能紧密结合所要解决的实际问题,才是最需要练就的本领是最需要练就的本领(也是谋生的本领)。也是谋生的本领)。 参赛时最好能记住
8、:你们是在做一件事,而参赛时最好能记住:你们是在做一件事,而不是在完成一道练习题。不是在完成一道练习题。 一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题二、深入理解二、深入理解 参赛者对赛题理解的透彻程度,直接关系到所交论文的质量水平。评阅者根据什么来判断参 赛者对赛题的理解是否透彻呢?我认为主要看“基本假设”、 “建模及求解思路”等部分。一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 首先,首先,“基本假设基本假设”起着举足轻重的作用。起着举足轻重的作用。根据不同的假设有可能得出不同的模型;不同深度的假设会导致不同水平的模型;不合理的假设显然会偏离原题。例例1.3 CUM
9、CM-2003B题题 (露天矿生产的车辆安排露天矿生产的车辆安排) 有一个至关重要的假设:“只考虑同一条路线上只考虑同一条路线上的车辆不发生等待的车辆不发生等待”。这是因为,如果连这一点都做不到,那么等待就是“必然”的;而做到了这一点之后,不同路线上的车辆在某一装点(或卸点)是否出现等待将是“随机”的。 一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 该题的背景是城市公交路径查询系统的研制。该题仅提出“应该从实际情况出发,满足查询者的各种不同要求”,并没有对“什么样的路径为最优”提出明确的要求,需要参赛者自己去思考。虽然体现了开放性,但是并不难。 其次,其次,务必弄清楚务必弄清楚“应
10、当对什么问题建模应当对什么问题建模”。例例1.4 CUMCM-2007B题题 (乘公交,看奥运)(乘公交,看奥运)一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 稍加思考便能找出三种主要的要求:稍加思考便能找出三种主要的要求:换乘次数最换乘次数最少,行程总时间最短,乘车总费用最省少,行程总时间最短,乘车总费用最省。显而易见此。显而易见此题是一个多目标优化问题。题是一个多目标优化问题。 然而怎样对待查询者的各种不同要求呢?然而怎样对待查询者的各种不同要求呢?过分强过分强调某一目标(如换乘次数),或者把三个目标通过加调某一目标(如换乘次数),或者把三个目标通过加权合成转化为单目标,都是不
11、合理的,因为不符合实权合成转化为单目标,都是不合理的,因为不符合实际际。 应当按不同目标的各种字典顺序,分别建立不同应当按不同目标的各种字典顺序,分别建立不同的优化模型的优化模型。 一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 最后,最后,模型求解的方法,无论是自己设计的,模型求解的方法,无论是自己设计的,还是选用现成的,都应当遵循从实际出发的原则,还是选用现成的,都应当遵循从实际出发的原则,所用的方法要有针对性。所用的方法要有针对性。 CUMCM-2009A题(制动器试验台的控制方法分析)题(制动器试验台的控制方法分析) 近几年,一些赛题的数据,往往先运用拟合、插值、灰色预测等方
12、法。有的参赛者似乎掌握了“套路”,或者是有了某种“惯性”。见到此题给的离散数据,马上来 一番拟合或插值,接下去却派不上用场,显得十分荒唐。这道题的离散数据就是直接在离散情况下使用的。一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题三、准确把握三、准确把握 赛题通常由背景、问题、信息这三部分组成。 要领会赛题对参赛者的要求,不能只看赛题的要领会赛题对参赛者的要求,不能只看赛题的“问题问题”部分,一定要看赛题的从标题到附件的全部部分,一定要看赛题的从标题到附件的全部内容;如果仅仅从字面上去理解赛题对参赛者的要内容;如果仅仅从字面上去理解赛题对参赛者的要求那是不够的。求那是不够的。 好的参赛
13、队还应当注意揣摩命题人的意图,利好的参赛队还应当注意揣摩命题人的意图,利用赛题具有的灵活性,发挥出本队的优势。用赛题具有的灵活性,发挥出本队的优势。 一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 准确把握赛题的意图,就是要明确:“这道题要参赛者做什么事事?”“在该题的答卷中需要回答哪些问题?” 简洁地说,就是明确 做什么?做什么? 答什么?答什么?一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题必须按照实际问题的需要去做,并且按照实际问必须按照实际问题的需要去做,并且按照实际问题的需要给出结果。题的需要给出结果。例例1.5 CUMCM-2003B题题 (露天矿生产的车辆安排
14、露天矿生产的车辆安排)这是一个优化问题,用数学方法可求得目标函数的最优值以及相应的决策变量。但是,答卷在表述最终结果时,应当按照题目的要求具体给出“一个班次的生产计划”: 动用几台电铲,在哪几个铲位作业;出动多少量自卸卡车,分别运行在哪几条线路上。如果这样安排,那么一个班次就能生产多少矿石、多少岩石;总运量是多少等等。一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 此题所给的数据有一些是用不上的,一些参赛队误以为“题目给的数据不用是不行的”,以致为了用数据而凑方法;甚至在答卷中质问:“题目给出这些数据的目的何在?”。 做什么?怎样做?都应当符合实际问题的需要。做什么?怎样做?都应当符
15、合实际问题的需要。 例例1.6 CUMCM-2010A题题 (储油罐的变位识别与罐容表标定(储油罐的变位识别与罐容表标定 )一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题四、正确选题四、正确选题 数学建模竞赛的赛题都是将某一领域的数学建模竞赛的赛题都是将某一领域的实际问题实际问题经过简化加工而形成的,是该领域经过简化加工而形成的,是该领域尚未解决或尚未完尚未解决或尚未完全解决全解决的问题。的问题。 赛题通常包括赛题通常包括背景背景、问题问题和和信息信息三个部分。其中三个部分。其中信息可能是若干信息可能是若干参数参数或一些或一些数据数据(甚至是(甚至是“海量海量” 数数据),也可能是据
16、),也可能是图形图形(包括数字化图形)。(包括数字化图形)。 一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 参赛时选哪个题?参赛时选哪个题?选难度较低的赛题,未必能选难度较低的赛题,未必能做出水平,你认为做得挺好,其实别人可能做得更做出水平,你认为做得挺好,其实别人可能做得更好;选难度较高的赛题,未必就做不出水平,这种好;选难度较高的赛题,未必就做不出水平,这种题富有挑战性,更能激发你的创造性,你认为做得题富有挑战性,更能激发你的创造性,你认为做得不怎么样,其实别人不一定能超过你。不怎么样,其实别人不一定能超过你。一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 数学建模竞
17、赛的评卷不是数学建模竞赛的评卷不是“过等级过等级”而是而是“排排座次座次”。在做同一个赛题的所有答卷中,。在做同一个赛题的所有答卷中,对难度较对难度较低的赛题而言往往是低的赛题而言往往是“从高的里面挑更高的从高的里面挑更高的”;对对难度较高的赛题而言往往是难度较高的赛题而言往往是“在低的里面找较高在低的里面找较高的的”。中国研究生数学建模竞赛特别强调,评卷时。中国研究生数学建模竞赛特别强调,评卷时将向难度较大的赛题倾斜。将向难度较大的赛题倾斜。一、如何面对数学建模竞赛赛题一、如何面对数学建模竞赛赛题 因此,因此,“避重就轻避重就轻”或或“宁重勿轻宁重勿轻”都是都是不明智的。不明智的。 应当从应
18、当从本队成员的实际情况本队成员的实际情况出发,以有利出发,以有利于发挥于发挥三个人的综合优势三个人的综合优势为原则,选择赛题。为原则,选择赛题。 LOGO二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法题号题号98A98B99A99B赛题赛题投资的收益投资的收益和风险和风险灾情巡视路灾情巡视路线线自动化车床自动化车床管理管理钻井布局钻井布局数学工具数学工具优化优化离散优化离散优化概率概率,优化优化优化优化应用领域应用领域金融金融公用管理公用管理工业管理工业管理工业管理工业管理专业要求专业要求低低低低中中低低开放度开放度中中低低低低低低LOGO二、数学建模竞赛中的常用算法二、数学建模竞赛
19、中的常用算法题号题号00A00B01A01B赛题赛题DNA序列分序列分类类钢管定购和钢管定购和运输运输血管的三维血管的三维重建重建公交车调度公交车调度数学工具数学工具统计统计优化优化计算机图形学计算机图形学优化优化应用领域应用领域生物生物工业管理工业管理医学医学公用管理公用管理专业要求专业要求中中低低中中低低开放度开放度高高低低中中中中LOGO二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法题号题号02A02B03A03B赛题赛题车灯线光源车灯线光源的优化设计的优化设计彩票中的数彩票中的数学学SARS的传的传播播露天矿生产露天矿生产的车辆安排的车辆安排数学工具数学工具优化优化,几何几何
20、概率概率,优化优化方程方程,优化优化优化优化应用领域应用领域光学光学公用管理公用管理医学医学工业管理工业管理专业要求专业要求高高低低中中低低开放度开放度低低高高高高低低LOGO二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法题号04A04B05A05B赛题奥运会临时超市网点设计电力市场的输电阻塞管理长江水质的评价和预测 DVD在线租赁数学工具统计,优化优化,统计统计,方程优化应用领域公用管理工业管理环保商业专业要求低中中低开放度高低高中LOGO二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法题号题号06A06B07A07B赛题赛题出版社的资出版社的资源配置源配置 艾滋病疗法艾滋
21、病疗法的评价及疗的评价及疗效的预测效的预测 中国人口增中国人口增长预测长预测 乘公交,看乘公交,看奥运奥运 数学工具数学工具统计统计,优化优化统计统计统计统计,方程方程统计统计,优化优化应用领域应用领域商业商业医学医学社会社会公用管理公用管理专业要求专业要求低低高高低低低低开放度开放度高高低低高高中中LOGO二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法题号题号08A08B09A09B赛题赛题数码相机定数码相机定位位高等教育学高等教育学费标准探费标准探讨讨制动器试验制动器试验台的控制方台的控制方法分法分析析眼科病床的眼科病床的合理安合理安排排数学工具数学工具方程方程,优化优化统计统计
22、,回归回归方程方程动态规划动态规划,优化优化应用领域应用领域商业商业社会社会商业商业医学医学专业要求专业要求高高低低中中低低开放度开放度低低高高低低高高二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法1. 蒙特卡罗方法蒙特卡罗方法(Monte-Carlo方法方法, MC) 该算法又称计算机随机性模拟方法计算机随机性模拟方法,也称统计试验统计试验方法方法。MC方法是一种基于“随机数”的计算方法,能够比较逼真地描述事物的特点及物理实验过程,解决一些数值方法难以解决的问题。 MC方法的雏型可以追溯到十九世纪后期的蒲丰随机投针试验,即著名的蒲丰问题蒲丰问题。 MC方法通过计算机仿真(模拟)解决
23、问题,同时也可以通过模拟来检验自己模型的正确性,是比赛中经常使用的方法。二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法CUMCM-1997A题题 零件的参数设计零件的参数设计每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢?随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。CUMCM-2002B题题 彩票中的数学彩票中的数学关于彩票
24、第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法2. 规划类问题算法规划类问题算法 此类问题主要有线性规划、整数规划、多元规划、线性规划、整数规划、多元规划、二次规划二次规划等。竞赛中很多问题都和数学规划有关,可以说不少的模型都可以归结为一组不等式作为约束条件、几个函数表达式作为目标函数的问题,遇到这类问题,求解就是关键了。CUMCM-1998B题题 灾情巡视路线灾情巡视路线 用很多不等式完全可以把问题刻画清楚用很多不等式完全可以把问题刻画清楚 因此列举出规划后用L
25、ingo 等软件来进行解决比较方 便,所以还需要熟悉这个软件。二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法3. 图论问题图论问题 这类问题算法有很多,包括:Dijkstra、Floyd、Prim、Bellman-Ford,最大流,二分匹配,最大流,二分匹配等问题。CUMCM 1994 B 题(锁具装箱)、题(锁具装箱)、2000 B 题(钢管题(钢管订购与运输)、订购与运输)、1998B 题(灾情巡视路线)题(灾情巡视路线)等问题体等问题体现了现了图论问题图论问题的重要性。的重要性。二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法4. 计算机算法设计中的问题计算机算法设计中
26、的问题 计算机算法设计包括很多内容:动态规划、回溯搜动态规划、回溯搜索、分治算法、分枝定界索、分治算法、分枝定界等计算机算法.CUMCM1992 年年B 题用分枝定界法题用分枝定界法CUMCM1997 年年B 题是典型的动态规划问题题是典型的动态规划问题CUMCM1998 年年B 题体现了分治算法题体现了分治算法 这方面问题和ACM 程序设计竞赛中的问题类似,可看一下与计算机算法有关的书。二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法5. 最优化理论的三大非经典算法最优化理论的三大非经典算法:模拟退火模拟退火法法 (SA)、神经网络、神经网络(NN)、遗传算法、遗传算法(GA) 近几
27、年的赛题越来越复杂,很多问题没有什么很好的模型可以借鉴,于是这三类算法很多时候可以派上用场。CUMCM 1997年年A 题用模拟退火算法题用模拟退火算法CUMCM 2000年年B 题用神经网络分类算法题用神经网络分类算法CUMCM 2001年年B 题这种难题也可以使用神经网络题这种难题也可以使用神经网络目前目前算法最佳的是遗传算法。算法最佳的是遗传算法。二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法6. 网格算法和穷举算法网格算法和穷举算法CUMCM 1997 A 题、题、1999 B 题都可以题都可以用网格法搜索用网格法搜索 网格算法和穷举法一样,只是网格法是连续问题的穷举。此类算
28、法运算量较大运算量较大。 这种方法最好在运算速度较快的计算机中进行,还有要用高级语言来做,最好不要用MATLAB 做网格,否则会算很久的。二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法7. 连续问题离散化的方法连续问题离散化的方法 很多问题都是实际来的,数据可以是连续的,而计很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此需要算机只能处理离散的数据,因此需要将连续问题进行将连续问题进行离散化处理后再用计算机求解离散化处理后再用计算机求解。比如。比如差分代替微分差分代替微分、求和代替积分求和代替积分等思想都是把连续问题离散化的常用方等思想都是把连续问题离散化的常
29、用方法。法。二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法8. 数值分析方法数值分析方法 数值分析研究各种求解数学问题的数值计算方法求解数学问题的数值计算方法,特别是适合于计算机实现方法与算法。 它的主要内容包括函数的数值逼近、数值微分与数函数的数值逼近、数值微分与数值积分、非线性方程的数值解法、数值代数、常微分方值积分、非线性方程的数值解法、数值代数、常微分方程数值解程数值解等。数值分析是计算数学的一个重要分支,把理论与计算紧密结合,是现代科学计算的基础 。 MATLAB等数学软件中已经有很多数值分析的函数可以直接调用。二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法9.
30、图象处理算法图象处理算法CUMCM 2001A 题(血管的三维重建)题(血管的三维重建)CUMCM 2013B 题(碎纸片的拼接)题(碎纸片的拼接)需要你会读需要你会读BMP 图象图象赛题中有一类问题与图形有关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形如何展示以及如何处理就是需要解决的问题,通常使MATLAB进行处理。 数模论文中也有很多图片需要展示,解决这类问题要熟悉MATLAB图形图像工具箱。二、数学建模竞赛中的常用算法二、数学建模竞赛中的常用算法10. 数据拟合、参数估计、插值等数据处理算法数据拟合、参数估计、插值等数据处理算法CUMCM 1994 年年A 题逢山开路题
31、逢山开路 山体海拔高度的插值计算山体海拔高度的插值计算1998 年美国赛年美国赛A 题题 生物组织切片的三维插值处理生物组织切片的三维插值处理CUMCM 2011 年年A 题题 城市表层土壤重金属污染分析城市表层土壤重金属污染分析 比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MATLAB 作为工具。与图形处理有关的问题很多与拟合有关系。 此类问题在MATLAB中有很多函数可以调用,只有熟悉MATLAB,这些方法才能用好。三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v曲线插值与拟合曲线插值与拟合v数值微分与积分数值微分与积分v微分方程数值解微分方程
32、数值解 v回归分析回归分析v判别分析判别分析三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法1. 曲线插值与拟合曲线插值与拟合一维插值一维插值v 对表格给出的函数,求出没有给出的函数值。对表格给出的函数,求出没有给出的函数值。v 在实际工作中,经常会遇到插值问题。在实际工作中,经常会遇到插值问题。v 下表是待加工零件下轮廓线的一组数据,现需要得到下表是待加工零件下轮廓线的一组数据,现需要得到x坐坐标每改变标每改变0.1时所对应的时所对应的y的坐标的坐标.三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v下面是插值的两条命令下面是插值的两条命令(专门用来解决这类问题专门用
33、来解决这类问题):vy=interp(x0,y0,x,method)分段线性插值分段线性插值vy=spline(x0,y0,x) 三次样条插值三次样条插值vx0,y0是已知的节点坐标,是同维向量。是已知的节点坐标,是同维向量。vy对应于对应于x处的插值,处的插值,y与与x是同维向量。是同维向量。vmethod可选可选nearest(最近邻插值最近邻插值),linear(线性插值线性插值),spline(三次样条插值三次样条插值),cubic(三次多项式插值三次多项式插值)三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v解决上述问题,我们可分两步解决上述问题,我们可分两步: 用原始
34、数据绘图作为选用插值方法的参考用原始数据绘图作为选用插值方法的参考. 确定插值方法进行插值计算确定插值方法进行插值计算v x0=0,3,5,7,9,11,12,13,14,15;v y0=0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6;v plot(x0,y0); %完成第一步工作完成第一步工作v x=0:0.1:15;v y=interp(x0,y0,x); %用分段线性插值完成第二步工作用分段线性插值完成第二步工作v plot(x,y);v y=spline(x0,y0,x); v plot(x,y); %用三次样条插值完成第二步工作用三次样条插值完成第二步工作
35、三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法vMATLAB中二维插值的命令是:中二维插值的命令是:vz=interp2(x0,y0,z0,x,y,meth)二维插值二维插值三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v temps=82,81,80,82,84;79,63,61,65,87;84,84,82,85,86;v mesh(temps)%根据原始数据绘出温度分布图,可看到此图的粗造度。根据原始数据绘出温度分布图,可看到此图的粗造度。v在一个长为在一个长为5个单位,宽为个单位,宽为3个单位的金属薄片上个单位的金属薄片上测得测得15个点的温度值,试求出此薄
36、片的温度分布,个点的温度值,试求出此薄片的温度分布,并绘出等温线图。(数据如下表)并绘出等温线图。(数据如下表)三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v下面开始进行二维函数的三阶插值。下面开始进行二维函数的三阶插值。v mesh(width,depth,temps); %根据原始数据绘出温度分布图,可根据原始数据绘出温度分布图,可看到此图的粗造度。看到此图的粗造度。v width=1:5; depth=1:3; di=1:0.2:3; wi=1:0.2:5;v WI,DI=meshgrid(wi,di); %生成生成x-y平面上的网格点矩阵平面上的网格点矩阵v ZI=in
37、terp2(width,depth,temps,WI,DI,cubic); % 对数据(对数据(width,depth,temps)进行三阶插值拟合)进行三阶插值拟合。v surf(WI,DI,ZI);%可实现对网格曲面片着色,将网格曲面转化为实曲面可实现对网格曲面片着色,将网格曲面转化为实曲面v contour(WI,DI,ZI); %三维图形等高线三维图形等高线三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法曲线拟合曲线拟合v假设一函数假设一函数g(x)是以表格形式给出的,现要求一是以表格形式给出的,现要求一函数函数f
38、(x),使,使f(x)在某一准则下与表格函数(数在某一准则下与表格函数(数据)最为接近。据)最为接近。v由于与插值的提法不同,所以在数学上理论根据由于与插值的提法不同,所以在数学上理论根据不同,解决问题的方法也不同。不同,解决问题的方法也不同。v此处,我们总假设此处,我们总假设f(x)是多项式。是多项式。三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v问题:弹簧在力问题:弹簧在力F的作用下伸长的作用下伸长x厘米。厘米。F和和x在在一定的范围内服从胡克定律。试根据下列数据确一定的范围内服从胡克定律。试根据下列数据确定弹性系数定弹性系数k,并给出不服从胡克定律时的近似公并给出不服从胡
39、克定律时的近似公式。式。三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v解题思路:可以用一阶多项式拟合求出解题思路:可以用一阶多项式拟合求出k,以及,以及近似公式。近似公式。v在在MATLAB中,用以下命令拟合多项式。中,用以下命令拟合多项式。vpolyfit(x0,y0,n)v一般,也需先观察原始数据的图像,然后再确定一般,也需先观察原始数据的图像,然后再确定拟合成什么曲线。拟合成什么曲线。三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v 对于上述问题对于上述问题,可键入以下的命令可键入以下的命令:v x=1,2,4,7,9,12,13,15,17; F=1.5,
40、3.9,6.6,11.7,15.6,18.8,19.6,20.6,21.1;v plot(x,F,.)v 从图像上我们发现从图像上我们发现:前前5个数据应与直线拟合个数据应与直线拟合,后后5个数据应个数据应与二次曲线拟合。于是键入与二次曲线拟合。于是键入 : v a=polyfit(x(1:5),F(1:5),1); v a=polyfit(x(5:9),F(5:9),2);0246810121416180510152025三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v注意:有时,面对一个实际问题,究竟是用插值注意:有时,面对一个实际问题,究竟是用插值还是用拟合不好确定,还需大
41、家在实际中仔细区还是用拟合不好确定,还需大家在实际中仔细区分。同时,大家(包括学过计算方法的同学)注分。同时,大家(包括学过计算方法的同学)注意去掌握相应的理论知识。意去掌握相应的理论知识。三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法2. 数值微分与积分数值微分与积分v先看一个例子:先看一个例子:v现要根据瑞士地图计算其国土面积。于是对地现要根据瑞士地图计算其国土面积。于是对地图作如下的测量:以东西方向为横轴,以南北图作如下的测量:以东西方向为横轴,以南北方向为纵轴。(选适当的点为原点)将国土最方向为纵轴。(选适当的点为原点)将国土最西到最东边界在西到最东边界在x轴上的区间划取
42、足够多的分轴上的区间划取足够多的分点点xi,在每个分点处可测出南北边界点的对应,在每个分点处可测出南北边界点的对应坐标坐标y1 ,y2。用这样的方法得到下表。用这样的方法得到下表v根据地图比例知根据地图比例知18mm相当于相当于40km,试由,试由上表计算瑞士国土的近似面积。(精确值为上表计算瑞士国土的近似面积。(精确值为41288km2)。)。三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v解题思路:数据实际上表示了两条曲线,实际上解题思路:数据实际上表示了两条曲线,实际上我们要求由两曲线所围成的图形的面积。我们要求由
43、两曲线所围成的图形的面积。v解此问题的方法是数值积分的方法。具体解时我解此问题的方法是数值积分的方法。具体解时我们遇到两个问题:们遇到两个问题: 1、数据如何输入;、数据如何输入; 2、没有现成的命令可用。、没有现成的命令可用。三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v对于第一个问题,我们可把对于第一个问题,我们可把数据拷贝成数据拷贝成M文件(或纯文文件(或纯文本文件)。本文件)。v然后,利用数据绘制平面图然后,利用数据绘制平面图形。形。 vload mianji.txtvA=mianji;vplot(A(:,1),A(:,2),r,A(:,1),A(:,3),g)三、数学
44、建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v接下来可以计算面积。键入:接下来可以计算面积。键入:va1=trapz(A(:,1)*40/18,A(:,2)*40/18);%梯形法求数值积分梯形法求数值积分va2=trapz(A(:,1)*40/18,A(:,3)*40/18);vd=a2-a1;vd = 4.2414e+004; %精确值为精确值为41288三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v至此,问题可以说得到了解决。至此,问题可以说得到了解决。 v之所以说还有问题,是我们觉得误差较大。但计之所以说还有问题,是我们觉得误差较大。但计算方法的理论给了我们更精
45、确计算方法。只是算方法的理论给了我们更精确计算方法。只是MATLAB没有相应的命令。没有相应的命令。 v想得到更理想的结果,我们可以自己设计解决问想得到更理想的结果,我们可以自己设计解决问题的方法。(可以编写辛普森数值计算公式的程题的方法。(可以编写辛普森数值计算公式的程序,或用拟合的方法求出被积函数,再利用序,或用拟合的方法求出被积函数,再利用MATLAB的命令的命令quad,quad8)三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法3. 微分方程数值解微分方程数值解单摆问题的数学模型是单摆问题的数学模型是在初始角度不大时在初始角度不大时,问题可以得到很好地解决问题可以得到很好
46、地解决,但如但如果初始角较大果初始角较大,此方程无法求出解析解此方程无法求出解析解.现问题是当现问题是当初始角为初始角为100和和300时时,求出其解求出其解,画出解的图形进行画出解的图形进行比较。比较。sinlg 三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v解解:若若0较小较小,则原方程可用则原方程可用 来近似来近似.其解析解为其解析解为(t)=0cost, . v 若不用线性方程来近似若不用线性方程来近似,那么有两个模型那么有两个模型:0lg/ l gsin(0)10gl sin(0)30gl 三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v取取g=9.8,
47、l=25, 100=0.1745, 300=0.5236.用用MATLAB求这两个模型的数值求这两个模型的数值解解,先要作如下的处理先要作如下的处理:令令x1=,x2=,则模型变则模型变为为122112sin(0)0.1745,(0)0 xxgxxlxx122112sin(0) 0.5236, (0) 0 xxgxxlxx三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v再编函数文件再编函数文件(danbai.m)vfunction xdot=danbai(t,x)vxdot=zeros(2,1);vxdot(1)=x(2);xdot(2)=-9.8/25*sin(x(1);v在命
48、令窗口键入在命令窗口键入()vt,x=ode45(danbai,0:0.1:20,0.1745,0);vt,y=ode45(danbai,0:0.1:20,0.5236,0);vplot(t,x(:,1),r,t,y(:,1),k);三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法4. 回归分析回归分析v前面我们曾学过拟合。但从统计的观点看,对拟前面我们曾学过拟合。但从统计的观点看,对拟合问题还需作回归分析。例如:有描述问题甲和合问题还需作回归分析。例如:有描述问题甲和问题乙的两组数据问题乙的两组数据(x,y)和和(x,z)。设。设x=1,2, 3,4,5; y=1.0, 1.3,
49、 1.5, 2.0, 2.3; z=0.6,1.95,0.9,2.85,1.8。如果在平面上。如果在平面上画出散点图,那么问题甲的四个点基本在一条直画出散点图,那么问题甲的四个点基本在一条直线上而问题乙的四个点却很散乱。如果都用命令线上而问题乙的四个点却很散乱。如果都用命令polyfit(x,y,1),polyfit(x,z,1)来拟合,将来拟合,将得到同一条直线。得到同一条直线。三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v自然对问题甲的信任程度会高于对问题乙的信任自然对问题甲的信任程度会高于对问题乙的信任程度。所以有必要对所得结果作科学的评价分析。程度。所以有必要对所得结果
50、作科学的评价分析。回归分析就是解决这种问题的科学方法。回归分析就是解决这种问题的科学方法。v下面结合三个具体的例子介绍下面结合三个具体的例子介绍MATLAB实现回实现回归分析的命令。归分析的命令。11.522.533.544.5511.522.511.522.533.544.550.511.522.53三、数学建模竞赛中的数据处理方法数学建模竞赛中的数据处理方法v合金强度合金强度y与其中含碳量与其中含碳量x有密切关系,如下表有密切关系,如下表v根据此表建立根据此表建立y(x),并对结果作可信度进行检验、,并对结果作可信度进行检验、判断判断x对对y影响是否显著、检查数据中有无异常点、影响是否显著