Matlab软件与数学建模讲义(65页).doc
-Matlab软件与数学建模讲义-第 65 页数学建模与Matlab软件部分专题1:数学建模简介一、关于数学建模 1.名词解释(1)什么是数学模型?数学模型是对于现实世界的一个特定对象,一个特定目的,根据特有的内在规律,做出一些必要的假设,运用适当的数学工具,得到一个数学结构简单地说:就是系统的某种特征的本质的数学表达式(或是用数学术语对部分现实世界的描述),即用数学式子(如函数、图形、代数方程、微分方程、积分方程、差分方程等)来描述(表述、模拟)所研究的客观对象或系统在某一方面的存在规律 (2)什么是数学建模? 数学建模是利用数学方法解决实际问题的一种实践即通过抽象、简化、假设、引进变量等处理过程后,将实际问题用数学方式表达,建立起数学模型,然后运用先进的数学方法及计算机技术进行求解 观点:“所谓高科技就是一种数学技术”n 数学建模其实并不是什么新东西,可以说有了数学并需要用数学去解决实际问题,就一定要用数学的语言、方法去近似地刻画该实际问题,这种刻划的数学表述的就是一个数学模型,其过程就是数学建模的过程数学模型一经提出,就要用一定的技术手段(计算、证明等)来求解并验证,其中大量的计算往往是必不可少的,高性能的计算机的出现使数学建模这一方法如虎添翼似的得到了飞速的发展,掀起一个高潮n 数学建模将各种知识综合应用于解决实际问题中,是培养和提高同学们应用所学知识分析问题、解决问题的能力的必备手段之一. 2、数学建模的一般方法和步骤 建立数学模型的方法和步骤并没有一定的模式,但一个理想的模型应能反映系统的全部重要特征: 模型的可靠性和模型的使用性 建模的一般方法: 机理分析 测试分析方法 机理分析:根据对现实对象特性的认识,分析其因果关系,找出反映内部机理的规律,所建立的模型常有明确的物理或现实意义 测试分析方法:将研究对象视为一个“黑箱”系统,内部机理无法直接寻求,通过测量系统的输入输出数据,并以此为基础运用统计分析方法,按照事先确定的准则在某一类模型中选出一个数据拟合得最好的模型 测试分析方法也叫做系统辩识 将这两种方法结合起来使用,即用机理分析方法建立模型的结构,用系统测试方法来确定模型的参数,也是常用的建模方法3.数学模型及其分类数学模型的分类: 按研究方法和对象的数学特征分:初等模型、几何模型、优化模型、微分方程模型、统计模型、图论模型、逻辑模型、稳定性模型、扩散模型等 按研究对象的实际领域(或所属学科)分:人口模型、交通模型、环境模型、生态模型、生理模型、城镇规划模型、水资源模型、污染模型、经济模型、社会模型等4、历年数学建模竞赛题目1992 A题 施肥效果分析1992 B题 实验数据分解1993 A题 非线性交调的频率设计1993 B题 足球队排名次1994 A题 逢山开路1994 B题 锁具装箱1995 A题 一个飞行管理问题1995 B题 天车与冶炼炉的作业调度1996 A题 最优捕鱼策略1996 B题 节水洗衣机1997 A题 零件的参数设计1997 B题 截断切割1998 A题 投资的收益和风险1998 B题 灾情的巡视路线1999 A题 自动化车床管理投资的收益和风险1999 B题 钻井布局1999 C题 煤矸石堆积1999 D题 钻井布局2000 A题 DNA序列分类2000 B题 钢管订购和运输2000C 题 飞越北极2000 D题 空洞探测2001 A题 血管的三维重建2001 B题 公交车调度2001 C题 基金使用计划2001 D题 公交车调度2002 A题 车灯线光源的优化设计2002 B题 彩票中的数学2002 C题 车灯线光源的计算2002 D题 赛程安排2003 A题 SARS的传播2003 B题 露天矿生产的车辆调度2003 C题 SARS的传播2003 D题 抢渡长江2004 A题 奥运会临时超市网点设计2004 B题 电力市场的输电阻塞管理2004 C题 饮酒驾车2004 D题 公务员招聘2005 A题 长江水质的评价和预测2005 B题 DVD在线租赁2005 C题 雨量预报方法的评价2005 D题 DVD在线租赁2006 A题 出版社的资源配置2006 B题 艾滋病疗法的评价及疗效的预测2006 C题 易拉罐形状和尺寸的最优设计2006 D题 煤矿瓦斯和煤尘的监测与控制2007 A题 中国人口增长预测2007 B题 乘公交,看奥运2007 C题 手机“套餐”优惠几何2007 D题 体能测试时间安排2008 A题 数码相机定位2008 B题 高等教育学费标准探讨2008 C题 地面搜索2008 D题 NBA赛程的分析与评价2009 A题 制动器试验台的控制方法分析2009 B题 眼科病房的合理安排2009 C题 卫星和飞船的跟踪测控2009 D题 会议筹备2010 A题 储油罐的变位识别与罐容表标定2010 B题 2010年上海世博会影响力的定量评估2010 C题 输油管的布置2010 D题 对学生宿舍设计方案的评价2011年 (A)城市表层土壤重金属污染分析 (B)交巡警服务平台的设置与调度 (C)企业退休职工养老金制度的改革 (D)天然肠衣搭配问题2012年(A)葡萄酒的评价(B)太阳能小屋的设计(C)脑卒中发病环境因素分析及干预(D)机器人避障问题二、数学建模实例 A、人口预报问题1.问题人口问题是当前世界上人们最关心的问题之一.认识人口数量的变化规律,作出较准确的预报,是有效控制人口增长的前提.下面介绍两个最基本的人口模型,并利用表1给出的近两百年的美国人口统计数据,对模型做出检验,最后用它预报2000年、2010年美国人口.表1 美国人口统计数据年(公元)人口(百万)17903.918005.318107.218209.6183012.9184017.1185023.2年(公元)人口(百万)186031.4187038.6188050.2189062.9190076.0191092.01920106.5年(公元)人口(百万)1930123.21940131.71950150.71960179.31970204.01980226.51990251.42.指数增长模型(马尔萨斯人口模型)此模型由英国人口学家马尔萨斯(Malthus17661834)于1798年提出.1 假设:人口增长率是常数(或单位时间内人口的增长量与当时的人口成正比).2 建立模型: 记时刻t=0时人口数为x0, 时刻t的人口为,由于量大,可视为连续、可微函数.t到时间内人口的增量为:于是满足微分方程: (1)3 模型求解: 解微分方程(1)得 (2)表明:时,(>0).4 模型的参数估计:要用模型的结果(2)来预报人口,必须对其中的参数r进行估计,这可以用表1-1的数据通过拟合得到.拟合的具体方法见本书第16章或第18章.通过表中17901980的数据拟合得: =0.307. 5 模型检验: 将x0=3.9,=0.307 代入公式(2),求出用指数增长模型预测的18101920的人口数,见表2.表2 美国实际人口与按指数增长模型计算的人口比较年(公元)实际人口(百万)指数增长模型预测人口(百万)误差(%)17903.918005.318107.27.31.418209.610.04.2183012.913.76.2184017.118.79.4185023.225.610.3186031.435.010.8187038.647.823.8188050.265.530.5189062.989.642.4190076.0122.561.2191092.0167.682.11920106.5229.3115.3 从表2可看出,18101870间的预测人口数与实际人口数吻合较好,但1880年以后的误差越来越大. 分析原因,该模型的结果说明人口将以指数规律无限增长.而事实上,随着人口的增加,自然资源、环境条件等因素对人口增长的限制作用越来越显著.如果当人口较少时人口的自然增长率可以看作常数的话,那么当人口增加到一定数量以后,这个增长率就要随着人口增加而减少.于是应该对指数增长模型关于人口净增长率是常数的假设进行修改.下面的模型是在修改的模型中著名的一个. 3. 阻滞增长模型(logistic模型)1假设:(a)人口增长率为人口的函数(减函数),最简单假定(线性函数),叫做固有增长率.(b)自然资源和环境条件年容纳的最大人口容量.2建立模型: 当 时,增长率应为0,即=0,于是,代入得: (3)将(3)式代入(1)得:模型: (4) 3 模型的求解: 解方程组(4)得 (5) 根据方程(4)作出 曲线图,见图1,由该图可看出人口增长率随人口数的变化规律.根据结果(5)作出x-t曲线,见图2,由该图可看出人口数随时间的变化规律. Ox图1 曲线图 xtO图2 x-t曲线图4 模型的参数估计:利用表1中17901980的数据对和拟合得:=0.2072, =464. 5 模型检验:将=0.2072, =464代入公式(5),求出用指数增长模型预测的18001990的人口数,见表3第3、4列.也可将方程(4)离散化,得 t=0,1,2, (6)用公式(6)预测18001990的人口数,结果见表3第5、6列.表3 美国实际人口与按阻滞增长模型计算的人口比较年实际人口(百万)阻滞增长模型公式(5)公式(6)预测人口(百万)误差(%)预测人口(百万)误差(%)17903.918005.35.90250.11373.90000.264218107.27.2614 0.0085 6.50740.096218209.68.93320.06958.68100.0957183012.910.98990.148111.41530.1151184017.113.52010.209415.12320.1156185023.216.63280.283119.81970.1457186031.420.46210.348326.52280.1553187038.625.17310.347835.45280.0815188050.230.9687 0.383143.53290.1328189062.938.09860.394356.1884 0.1067190076.046.86990.383370.14590.0770191092.057.66070.373384.73050.07901920106.570.93590.3339102.46260.03791930123.2 87.26740.2917118.9509 0.03451940131.7107.35880.1848137.88100.04691950150.7132.07590.1236148.7978 0.01261960179.3162.4835 0.0938170.27650.05031970204.0199.8919 0.0201201.17720.01381980226.5245.91270.0857227.57480.00471990251.4302.52880.2034250.44880.00386 模型应用: 现应用该模型预测人口.用表1中17901990年的全部数据重新估计参数,可得=0.2083, =457.6. 用公式(6)作预测得:x(2000)=275; x(2010)=297.9.也可用公式(5)进行预测.B、椅子能在不平的地面上放稳吗?把椅子往不平的地面上一放,通常只有三只脚着地,放不稳,然而只要稍挪动几次,就可以四脚着地,放稳了.下面用数学语言证明.一、 模型假设对椅子和地面都要作一些必要的假设:1. 椅子四条腿一样长,椅脚与地面接触可视为一个点,四脚的连线呈正方形.2. 地面高度是连续变化的,沿任何方向都不会出现间断(没有像台阶那样的情况),即地面可视为数学上的连续曲面.3. 对于椅脚的间距和椅脚的长度而言,地面是相对平坦的,使椅子在任何位置至少有三只脚同时着地. B C A x D二、模型建立中心问题是数学语言表示四只脚同时着地的条件、结论.首先用变量表示椅子的位置,由于椅脚的连线呈正方形,以中心为对称点,正方形绕中心的旋转正好代表了椅子的位置的改变,于是可以用旋转角度这一变量来表示椅子的位置.其次要把椅脚着地用数学符号表示出来,如果用某个变量表示椅脚与地面的竖直距离,当这个距离为0时,表示椅脚着地了.椅子要挪动位置说明这个距离是位置变量的函数.由于正方形的中心对称性,只要设两个距离函数就行了,记A、C两脚与地面距离之和为,B、D两脚与地面距离之和为,显然、,由假设2知f、g都是连续函数,再由假设3知、至少有一个为0.当时,不妨设,这样改变椅子的位置使四只脚同时着地,就归结为如下命题:命题 已知、是的连续函数,对任意,*=0,且,则存在,使. 三、模型求解将椅子旋转,对角线AC和BD互换,由可知.令,则,由f、g的连续性知h也是连续函数,由零点定理,必存在使,由,所以.四、评 注 模型巧妙在于用一元变量表示椅子的位置,用的两个函数表示椅子四脚与地面的距离.利用正方形的中心对称性及旋转并不是本质的,同学们可以考虑四脚呈长方形的情形.C、双层玻璃的功效北方城镇的有些建筑物的窗户是双层的,即窗户上装两层厚度为的玻璃夹着一层厚度为的空气,如左图所示,据说这样做是为了保暖,即减少室内向室外的热量流失.我们要建立一个模型来描述热量通过窗户的热传导(即流失)过程,并将双层玻璃窗与用同样多材料做成的单层玻璃窗(如右图,玻璃厚度为)的热量传导进行对比,对双层玻璃窗能够减少多少热量损失给出定量分析结果.一、 模型假设1. 热量的传播过程只有传导,没有对流.即假定窗户的密封性能很好,两层玻璃之间的空气是不流动的;2. 室内温度和室外温度保持不变,热传导过程已处于稳定状态,即沿热传导方向,单位时间通过单位面积的热量是常数;3. 玻璃材料均匀,热传导系数是常数.二、 符号说明 室内温度 室外温度 单层玻璃厚度 两层玻璃之间的空气厚度 内层玻璃的外侧温度 外层玻璃的内侧温度 热传导系数 热量损失三、 模型建立与求解由物理学知道,在上述假设下,热传导过程遵从下面的物理规律:厚度为的均匀介质,两侧温度差为,则单位时间由温度高的一侧向温度低的一侧通过单位面积的热量为,与成正比,与成反比,即 (1)其中为热传导系数. 1. 双层玻璃的热量流失记双层窗内窗玻璃的外侧温度为,外层玻璃的内侧温度为,玻璃的热传导系数为,空气的热传导系数为,由(1)式单位时间单位面积的热量传导(热量流失)为: (2)由及可得再代入就将(2)中、消去,变形可得: (3)2. 单层玻璃的热量流失对于厚度为的单层玻璃窗户,容易写出热量流失为: (4)3. 单层玻璃窗和双层玻璃窗热量流失比较比较(3)(4)有: (5)显然,.为了获得更具体的结果,我们需要的数据,从有关资料可知,不流通、干燥空气的热传导系数(J/cm.s.ºC),常用玻璃的热传导系数(J/cm.s.ºC),于是在分析双层玻璃窗比单层玻璃窗可减少多少热量损失时,我们作最保守的估计,即取,由(3)(5)可得: (6)4. 模型讨论比值反映了双层玻璃窗在减少热量损失上的功效,它只与有关,下图给出了的曲线,当由0增加时,迅速下降,而当超过一定值(比如)后下降缓慢,可见不宜选得过大.四、模型的应用 这个模型具有一定的应用价值.制作双层玻璃窗虽然工艺复杂会增加一些费用,但它减少的热量损失却是相当可观的.通常,建筑规范要求.按照这个模型,即双层玻璃窗比用同样多的玻璃材料制成的单层窗节约热量97%左右.不难发现,之所以有如此高的功效主要是由于层间空气的极低的热传导系数,而这要求空气是干燥、不流通的.作为模型假设的这个条件在实际环境下当然不可能完全满足,所以实际上双层玻璃窗的功效会比上述结果差一些.三、怎样撰写数学建模的论文四、 论文检索及其他信息来源: 1、传统资源.图书馆纸质书籍期刊。 2、网络资源。 数据库:中国期刊网,超星,书生之家 (图书馆首页->数据库导航) 搜索引擎:google学术、google图书(google搜索技巧 ) 新浪共享资料、豆丁网 百度文库、CSDN、人大经济论坛 各大高校BBS论坛、FTP资源 数学中国论坛 国家统计局 维基百科(英文版) 信息检索技术: 1、利用搜索引擎,关键词搜索 2、数据库中,利用题名、摘要、作者等分类搜索 3、从参考文献入手 4、从维基百科(英文版)词条的reference入手 5、从在该领域有名的教授的论文入手建模网站推荐: -竞赛) (中国数学建模网) 数学中国(数学建模交流社区) (用关键字数学建模或者数学建模竞赛搜索) 百度百科 参考书籍 1.数学建模与数学实验第三版 赵静等编 (有电子版) 2.数学模型第三版 姜启源等(有电子版) 3.其他建模书籍专题2:Matlab软件基本使用第一节:数学软件与Matlab简介一、 数学软件概述数学建模的过程告诉我们建立一个较理想的数学模型需要必要的数学理论,高度的洞察力,过硬的分析能力和大量的经验积累。但在模型求解,分析与验证过程中则更需要一个计算能力相当强的工具数学软件。 数学软件(或数学软件包)是一种处理数学问题的应用软件,出现在20世纪70年代,这些软件是由标准算法程序发展而来的,具有较强的图形学功能,成为用计算机解决科学技术各领域中所提出的数学问题的手段和工具. 数学软件列表:1、Matlab、 Maple、 Mathmatica、MathCad 2、Lindo与Lingo (优化软件) 3、SAS与SPSS (统计软件)数学建模(matlab-数值计算,Lingo优化,spss统计) 二、Matlab简介 它是一种功能强大的科学计算软件(数值计算、符号运算、图形处理等)。MatlabMatrix Laboratory, 该语言是美国New Mexico大学计算机系主任Cleve Moler在70年代后期首先设计的. 并于80年代初开发了第二代专业版.1984年, Cleve Moler和John Litter成立了Math works公司, 并开始把Matlab推向市场. (迈斯沃克公司) 1、MATLAB发展历史时间表 70s后期 MATLAB(MATrix和LABoratory)-FORTRAN 语言 -美国新墨西哥大学计算机科学系主任 Cleve-Moler教授 1984 MathWorks公司(Little、Moler、Steve Bangert ) 推向市场-C语言 1993 第一个windows版本问世 (1993年MathWorks公司从加拿大滑铁卢大学购得Maple的使用权,以Maple为“引擎” 开发了Symbolic Math Toolbox 1.0。MathWorks公司此举加快结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。) 2001 MATLAB 6.1 2002 MATLAB 6.5 2005 MATLAB 7.1 2009 MATLAB 7.8/7.9 2010 MATLAB 7.10/7.11 2011 MATLAB 7.12/7.13 2012 MATLAB 7.14/8.0 2013 MATLAB 8.12、MATLAB语言特点n 功能强大(数值计算、符号运算、图形处理) 矩阵变换及运算、多项式运算、微积分运算、线性与非线性方程求 解、常(偏)微分方程求解、插值与拟合、统计与优化等问题 n 语言简单 它允许用户以数学形式的语言编写程序,比B、C、F等更接近书写计算 公式的思维方式.用C,C+编写,程序流控制语句与C较接近.n 扩充能力强,可开发性强 完全的开放系统、直接查看函数源程序.也可创建自己的库.也与C、F语 言及maple软件有接口.n 编程易、效率高 不需编译3、 MATLAB应用领域目前,Matlab 已经成为国际上最流行的科学与工程计算的软件 工具,它已经不仅仅是一个“矩阵实验室”了,而成为了一种具有广泛应用前景的全新的计算机高级编程语言,有人称它为“第四代”计算机语言。 就影响而言,至今仍然没有一个别的计算软件可与 Matlab 匹敌。在欧美各高等院校,Matlab已经成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。4、 应用工具箱基本部分和各种可选的工具箱。1) 基本部分中有数百个内部函数。 2) 其工具箱分为两大类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。学科性工具箱专业性比较强,如控制系统工具箱、信号处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱等,用户可以直接利用这些工具箱进行相关领域的科学研究。 可做工作列表:n 数值分析 n 数值和符号计算 n 工程与科学绘图 n 控制系统的设计与仿真 n 数字图像处理 技术n 数字信号处理 技术n 通讯系统设计与仿真 n 财务与金融工程 常用的工具箱: Matlab Main Toolboxmatlab主工具箱Control System Toolbox控制系统工具箱Communication Toolbox通讯工具箱Financial Toolbox财政金融工具箱System Identification Toolbox系统辨识工具箱Fuzzy Logic Toolbox模糊逻辑工具箱Higher-Order Spectral Analysis Toolbox高阶谱分析工具箱Image Processing Toolbox图象处理工具箱LMI Control Toolbox线性矩阵不等式工具箱Model predictive Control Toolbox模型预测控制工具箱-Analysis and Synthesis Toolbox分析工具箱Neural Network Toolbox神经网络工具箱Optimization Toolbox优化工具箱Partial Differential Toolbox偏微分方程工具箱Robust Control Toolbox鲁棒控制工具箱Signal Processing Toolbox信号处理工具箱Spline Toolbox样条工具箱Statistics Toolbox统计工具箱Symbolic Math Toolbox符号数学工具箱Simulink Toolbox动态仿真工具箱Wavele Toolbox小波工具箱 5、 进入与工作界面当你计算机中成功地安装了Matlab6.5版后,在window桌面上就会出现matlab6.5图标。双击就可进入matlab的界面。n 5个窗口、10个按钮控件、6个下拉式菜单n 1)、主窗口 不能进行任何计划任务操作,只用来进行一些整体环境参数的设置;n 2)、命令窗口(Command window)用户的主要工作平台,所有指令都在该窗口输入;n 3)、历史窗口(Command History)自安装之日起所有使用过的命令均记录在此;n 4)、当前目录窗口(Current Directory)显示或修改当前目录;n 5)、发行说明书窗口(Launch pad)说明用户所拥有的Mathworks公司产品的工具包、演示及帮助信息;(6.5版本没有)n 6)、工作间管理窗口(Workspace)显示目前内存中存放的所有变量,这些变量均可通过数据文件(.mat)存盘.6、 Maltab的运行方式Matlab提供了两种运行方式:命令行方式和M文件方式。命令行运行方式通过直接在命令窗口中输入命令行来实现计算或作图功能,但这种方式在处理比较复杂的问题和大量数据时相当困难。 而M文件运行方式则先在一个以m为扩展名的M文件中输入一系列数据和命令,然后让Matlab执行这些命令。Matlab的M文件有两种类型:脚本M文件和函数M文件。 一个比较复杂的程序常常要作反复的调试,这时可以建立一个脚本M文件并将其储存起来,以便随时调用计算。脚本M文件就是命令的简单叠加。建立M文件的方法是:在Matlab窗口中单击File菜单,然后依次选择NewM file,打开M文件编辑窗口,在该窗口中输入程序文件,再以m为扩展名储存。要运行该M文件,只需在M文件编辑窗口的Debug菜单中选择Run即可。7、 初识Matlab 例1-1 绘制正弦曲线和余弦曲线。x=0:0.5:360*pi/180;plot(x,sin(x),x,cos(x); 例1-2 求方程 3x4+7x3 +9x2-23=0的全部根。p=3,7,9,0,-23; %建立多项式系数向量x=roots(p) %求根例1-3 求积分quad('x.*log(1+x)',0,1) 例1-4 求解线性方程组。a=2,-3,1;8,3,2;45,1,-9; b=4;2;17; x=inv(a)*b 例1-5:幻方(n阶幻方,由1n2) Matlab实现: magic(3) 例1-6 :模拟掷骰子9000次,来验证大数定律. for n=1:9000 x(n)=1+floor(6*rand(1); end x'; for i=1:6 f(i)=length(find(x=i); pc(i)=length(find(x=i)/9000-1/6; end f pc 8、 Matlab软件学习n 要掌握更多的内容需要自学,help 在线帮助系统(demos-图形演示),可十分方便地在线学习Matlab的各种函数的内涵及其用法,但这需要顽强的毅力。 n 带着问题去学(从问题出发、解决你的问题) n 软件是相通的(标准Windows界面、详细的帮助系统、 快捷键) 多“折腾”(连蒙带猜地试探,找门路) 动手、动眼、动脑 数学课程学习抽象性与理论性,而数学软件的学习是实用性和实践性 远程帮助系统在MathWorks公司的主页(http:/w