1 / 117

张力宁

X A W L. 数模竞赛简介 与 MATLAB 编程基础. 张力宁. 1. 全国大学生数学建模竞赛简介. 2. 3. 4. 对你的要求与你的收获. MATLAB 基础及符号运算. MATLAB 绘图. 主要内容. 假设: 忽略阻力不计 , 初速度. 解得:. 解得:. 一、全国大学生数学建模竞赛简介. 什么是数学模型?. 引例:自由落体运动. O. 根据 牛顿第二定律, 有. x. 若假设: 阻力与速度成正比 , 则有. 一、全国大学生数学建模竞赛简介. 什么是数学模型?.

idola
Télécharger la présentation

张力宁

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. X A W L 数模竞赛简介与MATLAB编程基础 张力宁

  2. 1 全国大学生数学建模竞赛简介 2 3 4 对你的要求与你的收获 MATLAB基础及符号运算 MATLAB绘图 主要内容 www.themegallery.com

  3. 假设:忽略阻力不计,初速度 解得: 解得: 一、全国大学生数学建模竞赛简介 • 什么是数学模型? 引例:自由落体运动 O 根据牛顿第二定律,有 x 若假设:阻力与速度成正比,则有 www.themegallery.com

  4. 一、全国大学生数学建模竞赛简介 • 什么是数学模型? 数学模型是针对某种事物系统的特征或数量依存关系,通过抽象和简化,采用数学语言,概括地或近似地表述出的一种数学结构,这种数学结构是借助于数学符号刻划出来的某种系统的纯关系结构。 获得数学模型、求解该模型并得到结论以及验证结论是否正确的全过程称为数学建模 。 • 建立数学模型的基本要求 真实完整、简明实用、适应变化。 www.themegallery.com

  5. 一、全国大学生数学建模竞赛简介 •  数学建模的基本原则 1、简化原则   现实世界的原型都是具有多因素、多变量、多层次的比较复杂的系统,对原型进行一定的简化即抓住主要矛盾,数学模型应比原型简化,数学模型自身也应是“最简单”的。 2、可推导原则   由数学模型的研究可以推导出一些确定的结果,如果建立的数学模型在数学上是不可推导的,得不到确定的可以应用于原型的结果,这个数学模型就是无意义的。 3、反映性原则   数学模型实际上是人对现实世界的一种反映形式,因此数学模型和现实世界的原型就应有一定的“相似性”,抓住与原型相似的数学表达式或数学理论就是建立数学模型的关键性技巧。 www.themegallery.com

  6. 一、全国大学生数学建模竞赛简介 1)对某个实际问题进行观察、分析(重点是抓住主要方面); 2)对实际问题进行必要的抽象、简化,作出合理的假设(往往是很不容易的); 3)确定要建立的模型中的变量和参数; 4)根据某种“规律”(已知的各学科中的定律, 甚至是经验的规律),建立变量和参数间确定的数学关系; • 数学建模的主要步骤 www.themegallery.com

  7. 一、全国大学生数学建模竞赛简介 • 5)解析或近似地求解该数学问题. 这往往涉及复杂的数学理论和方法, 近似方法和算法; • 6)数学结果能否展示、解释甚至预测实际问题中出现的现象,或用某种方法(例如,历史数据、实验数据或现场测试数据等)来验证结果是否正确; • 7)如果第 6 步的结果是肯定的,那么就可以付之试用; 如果是否定的,那就要回到第 1 – 6 步进行仔细分析,重复上述建模过程。 • 数学建模的主要步骤 www.themegallery.com

  8. 一、全国大学生数学建模竞赛简介 • 数学建模的分类 数学模型涉及的领域千差万别,建模的方法也多种多样,从不同的角度可对数学模型进行各种分类,常见的有: 按模型的应用领域分类 www.themegallery.com

  9. 一、全国大学生数学建模竞赛简介 • 数学建模的分类 按建模的数学方法分类 www.themegallery.com

  10. 考虑随机因素的影响 考虑时间因素的影响 模型中的变量为离散还是连续的 一、全国大学生数学建模竞赛简介 • 数学建模的分类 按模型的表现特性分类 www.themegallery.com

  11. 一、全国大学生数学建模竞赛简介 • 全国大学生数学建模竞赛的发展 • 1985年开始由美国工业与数学学会举办数学建模竞赛(MCM). • 1989年我国大学生开始参加MCM. • 1990年上海率先举办了“上海市大学生数学模型竞赛” • 1992年,教育部高教司和中国工业与应用数学协会联合举办“中国大学生数学建模竞赛(CUMCM)” • 参赛规模从十年前10省市70多所院校300多队增长到2009年33个省、市、自治区以及香港特别行政区1137所院校15042个队,45000多人参加。 www.themegallery.com

  12. 一、全国大学生数学建模竞赛简介 • 全国大学生数学建模竞赛的发展 参赛学校数:1995年:259所,2009年:1137所 参赛队数:1995年:1234队,2009年:15042队 www.themegallery.com

  13. 一、全国大学生数学建模竞赛简介 • 2000年A题:DNA序列分类 • B题:钢管订购和运输 • 2001年A题:血管的三维重建 • B题:公交车调度 • 2002年A题:车灯线光源的优化设计 • B题:彩 票 中 的 数 学 • 2003年A题:SARS的传播 • B题:露天矿生产的车辆安排 • 2004年A题:奥运会临时超市网点设计 • B题:电力市场的输电阻塞管理 • 近年来全国大学生数学建模竞赛题目 www.themegallery.com

  14. 一、全国大学生数学建模竞赛简介 • 近年来全国大学生数学建模竞赛题目 • 2005年A题:长江水质的评价和预测 • B题:DVD在线租赁 • 2006年A题:出版社的资源配置 • B题:艾滋病疗法的评价及疗效的预测2007年2007年A题:中国人口增长预测 • B题:乘公交,看奥运 • 2008年A题:数码相机定位 • B题:高等教育学费标准探讨 • 2009年A题:制动器试验台的控制方法分析 • B题:眼科病床的合理安排 www.themegallery.com

  15. 一、全国大学生数学建模竞赛简介 • 数学建模论文的一般结构 • 摘要 • 问题重述与分析 • 问题假设 • 符号说明 • 模型建立与求解 • 结果分析 • 模型检验 • 模型推广 • 模型评价 • 参考文献和附录 www.themegallery.com

  16. 一、全国大学生数学建模竞赛简介 • 全国大学生数学建模竞赛的参赛形式 • 开卷形式的通讯比赛,可以使用任意图书资料和互联网,自由的收集资料、调查研究。 • 由三名学生组成一队,各参赛队任选一竞赛题。在三天时间内,团结合作、奋力攻关,完成一篇数学建模全过程的论文。 • 没有事先设定的标准答案,多名专家从以下几个方面来综合评定(1)问题分析及假设的合理性;(2)模型的正确性和创造性;(3)运算结果的正确性; (4)结论和讨论的科学性;(5)论文表达的清晰性等。 • 竞赛地点是学生所在院校,竞赛时间是每年9月第三周周五开始的三天时间,共计72小时,即第一天8:00开题,第四天8:00 交卷。 www.themegallery.com

  17. 一、全国大学生数学建模竞赛简介 • 全国大学生数学建模竞赛的评奖与公布 • 全国大学生数学建模竞赛以各个省、自治区、直辖市、特别行政区为分赛区,首先由各分赛区组织专家评阅,评出本赛区的一、二、三等奖(陕西省已于2008年取消省级三等奖),并按照一定比例选拔出部分优秀论文报送全国组委会,由全国组委会组织各赛区的专家进行集中评阅,评出国家级一、二等奖(获奖率分别为2%和6%),对全国范围内表现最突出的一个竞赛队伍授予奖杯。 • 2009年全国组委会还从全国一等奖获奖论文中评选出“2009高教社杯全国大学生数学建模竞赛MATLAB创新奖”两份。 • 选拔一些优秀论文刊登在每年第一期的《工程数学学报》上。 www.themegallery.com

  18. 一、全国大学生数学建模竞赛简介 • 高校、企业对数学建模竞赛的认可 IBM 中国研究中心- 招聘条件 Position title: Business Optimization(BJ)1.Background in industrial engineering, operations research, mathematics, Artificial Intelligence, management science etc. 2. Knowledge in network design, job scheduling, data analysis, simulation and optimization 3. Award in mathematical contest in modeling is a plus4. Experience in industry is a plus 5. Experience in eclipse or programming model / architecture design is a plus --Feb. 18, 2006, http://www-900.ibm.com/cn/ibm/crl/careers/condition.shtml www.themegallery.com

  19. 一、全国大学生数学建模竞赛简介 • 企业对数学建模人才的需求 www.themegallery.com

  20. 二、对你的要求与你的收获 • 对你的要求 • 精神状态与学习纪律方面 • 对数学建模的学习兴趣和热情 • 持之以恒的工作态度 • 积极主动的学习态度与精益求精的研究精神 • 勤于思考、勇于创新的学习习惯 • 富于团队精神和集体荣誉感 www.themegallery.com

  21. 二、对你的要求与你的收获 • 对你的要求 • 知识基础与能力要求 • 良好的数学基础(高数、线性代数、概率统计等) • 熟练的计算机操作水平,熟练使用office软件 • 一定的计算机高级语言编程基础 • 熟练使用互联网搜索参考文献 • 快速获取、消化新知识,并能学以致用的自学能力 • 严谨、简洁、清晰的文字表达能力 www.themegallery.com

  22. 二、对你的要求与你的收获 • 你的收获 • 数学基础将得到明显加强 • 学习数学、运用数学解决实际问题的能力将得到提高 • 对计算机常用软件的操作,尤其是对Office软件的操作将更加熟练 • 利用MATLAB等数学软件编程解决实际问题的能力将得到质的飞跃 • 能够更加熟练地使用互联网搜索参考文献 • 自学能力与水平将得到明显提高 www.themegallery.com

  23. 二、对你的要求与你的收获 • 你的收获 • 科技论文的写作会从入门到不断提高 • 体验科研工作的全过程,对今后的毕业设计乃至 进一步深造的学位论文写作将非常有利 • 体会团队精神在协作攻关搞研究中的重要性 • 学会与他人交流学习体会、交流对问题的看法,准确表述自己的观点,学会虚心接受别人合理的建议和意见,及时调整和改进自身的不足 • 广泛了解多学科知识,自信心明显增强,对自己的期望和要求也更高。 www.themegallery.com

  24. 三、MATLAB基础及符号运算 MATLAB 是MATrix LABoratory(“矩阵实验室”)的缩写,是由美国MathWorks 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言。是国际公认的优秀数学应用软件之一。 • MATLAB的发展过程 • 20世纪80年代初期,Cleve Moler与John Little等利用C语言开发了MATLAB 语言 • 1984年正式成立Mathworks公司,把MATLAB语言推向市场,并开始了对MATLAB工具箱等的开发设计 • 1993年推出了面向PC的MATLAB4.0,1997年推出了MATLAB 5 www.themegallery.com

  25. 三、MATLAB基础及符号运算 • 随后,MATLAB不断推出新版本。目前最新的版本是2008年11月MATLAB R2008b,它包含了Win32位版和WIn64位版。 • 随着版本的不断升级,它在数值计算及符号计算功能上得到了进一步完善。MATLAB已经发展成为多学科、多种工作平台的功能强大的大型软件。在欧美等高校,MATLAB已经成为线性代数、自动控制理论、概率论及数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具,是攻读学位的大学生、硕士生、博士生必须掌握的基本技能。 www.themegallery.com

  26. 三、MATLAB基础及符号运算 • MATLAB的主要特点 • 运算符和库函数极其丰富,语言简洁,编程效率高, • 既具有结构化的控制语句(如for循环、while循环、break语句、if语句和switch语句),又有面向对象的编程特性。 • 图形功能强大。它既包括对二维和三维数据可视化、图像处理、动画制作等高层次的绘图命令,也包括可以修改图形及编制完整图形界面的、低层次的绘图命令。 • 功能强大的工具箱。工具箱可分为两类:功能性工具箱和学科性工具箱。 • 易于扩充。除内部函数外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件。 www.themegallery.com

  27. 三、MATLAB基础及符号运算 一、 MATLAB的安装与启动 • MATLAB对硬件的要求 CPU要求:Pentium II、Pentium III、AMD Athlon或者更高; 光驱:8倍速以上; 内存:至少64MB,但推荐128MB以上; 硬盘:视安装方式不同要求不统一,但至少留1GB用于安装; 显卡:8位; • MATLAB对软件的要求 各种微软的Windows操作系统都可以; Adobe Acrobat Reader 用于阅读帮助文件 • MATLAB的安装 运行MATLAB光盘上的安装文件即可 www.themegallery.com

  28. 三、MATLAB基础及符号运算 • MATLAB的桌面系统 菜单 工作空间浏览器 命令窗口 历史命令窗口 路径浏览器 www.themegallery.com

  29. 三、MATLAB基础及符号运算 • MATLAB的桌面系统 www.themegallery.com

  30. 三、MATLAB基础及符号运算 • MATLAB的桌面系统 www.themegallery.com

  31. 三、MATLAB基础及符号运算 • MATLAB的命令窗口 • 在MATLAB命令窗口中,命令的实现不仅可以由菜单操作来实现,也可以由命令行操作来执行 • 命令行操作便于人机交互,通过对命令行操作,避免了编程序的麻烦 。但运算的结果不保存,复杂的算法还是在M-文件调试编辑器中编写程序完成。 • 例如:在命令窗口中输入sin(pi/5),然后单击回车键,则会得到该表达式的值 • sin(pi/5) • ans= • 0.5878 www.themegallery.com

  32. 三、MATLAB基础及符号运算 当需要处理相当繁琐的计算时,可能在一行之内无法写完表达式,可以换行表示,此时需要使用续行符“……”否则MATLAB将只计算一行的值,而不理会该行是否已输入完毕。 例如: sin(1/9*pi)+sin(2/9*pi)+sin(3/9*pi)+…… sin(4/9*pi)+sin(5/9*pi)+sin(6/9*pi)+…… sin(7/9*pi)+sin(8/9*pi)+sin(9/9*pi)+…… ans= 5.6713 • 在MATLAB命令行操作中,“↑”可用于调出前一个命令行,“↓”可调出后一个命令行, www.themegallery.com

  33. 三、MATLAB基础及符号运算 • MATLAB的M文件调试编辑器——编写程序的窗口 程序名 调试 运行 行号 文本 断点 www.themegallery.com

  34. 三、MATLAB基础及符号运算 二、 MATLAB的变量 MATLAB的数据类型主要包括:数字、字符串、矩阵、单元型数据及结构型数据等 • 变量与常量的命名 (1)变量名区分大小写。 (2)变量名长度不能超过31位, (3)变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点。 • 变量的作用域:局部变量和全局变量,全局变量必须声明为 Global,一般用大写字母命名。 www.themegallery.com

  35. 三、MATLAB基础及符号运算 • MATLAB中的常量 在MATLAB语言中,定义变量时应避免与常量名重复 www.themegallery.com

  36. 三、MATLAB基础及符号运算 • 数字变量的运算及显示格式 • MALAB是以矩阵为基本运算单元的,而构成数值矩阵的基本单元是数字。 对于简单的数字运算,可以直接在命令窗口中以平常惯用的形式输入,如计算2和3的乘积再加1时,可以直接输入: >> 1+2*3 ans= 7 用户也可以输入: >> a=1+2*3 a= 7 www.themegallery.com

  37. 三、MATLAB基础及符号运算 • 数字变量的显示格式 • 在缺省情况下,若数据为整数,则就以整数表示;若数据为实数,则以保留小数点后4位的精度近似表示。MATLAB语言提供了10种数据显示格式,常用的有下述几种格式: short小数点后4位(系统默认值) long 小数点后14位 short e 5位指数形式 long e 15位指数形式 www.themegallery.com

  38. 三、MATLAB基础及符号运算 • MATLAB常用数学函数(一): 三角函数 www.themegallery.com

  39. 三、MATLAB基础及符号运算 • MATLAB常用数学函数(二):指数函数 • MATLAB常用数学函数(三):复数函数 www.themegallery.com

  40. 三、MATLAB基础及符号运算 • MATLAB常用数学函数(四): 取整函数和求余函数 www.themegallery.com

  41. 三、MATLAB基础及符号运算 • MATLAB常用数学函数(五): 矩阵变换函数 www.themegallery.com

  42. 三、MATLAB基础及符号运算 • MATLAB常用数学函数(六):其它函数 www.themegallery.com

  43. 三、MATLAB基础及符号运算 • 数字变量的字符串 • MATLAB中的字符串是其进行符号运算表达式的基本构成单元。 在MATLAB中,字符串和字符数组基本上是等价的;所有的字符串都用单引号进行输入或赋值(也可以用函数char来生成)。字符串的每个字符(包括空格)都是字符数组的一个元素。例如: >>s=’matrix laboratory’; s= matrix laboratory MATLAB对字符串的各种操作与C语言几乎完全相同 www.themegallery.com

  44. 三、MATLAB基础及符号运算 三、 矩阵及其运算 矩阵是MATLAB数据存储的基本单元,而矩阵的运算是MATLAB语言的核心,在MATLAB语言系统中几乎一切运算均是以对矩阵的操作为基础的。 • 矩阵的生成 在MATLAB中生成矩阵的方法共有三种:直接输入法、外部文件读入法、特殊矩阵的函数生成法。 • 直接输入法 直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵。在用此方法创建矩阵时,应当注意以下几点: www.themegallery.com

  45. 三、MATLAB基础及符号运算 • 输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在括号内。 • 矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔。 • 矩阵大小不需要预先定义。 • 矩阵元素可以是运算表达式。 • 若“[ ]”中无元素表示空矩阵。 www.themegallery.com

  46. 三、MATLAB基础及符号运算 • 矩阵操作时冒号的作用 用于生成等步长的向量,默认步长值为1。 >> a=1:0.5:4 a= Columns 1 through 7 1 1.5 2 2.5 3 3.5 4 另外,通过使用冒号,可以截取指定矩阵中的指定行、列或元素,例如: >> A=[1 2 3;4 5 6;7 8 9] A= 1 2 3 4 5 6 7 8 9 www.themegallery.com

  47. 同理 >> C=A (:,2:3) C= 2 3 5 6 8 9 三、MATLAB基础及符号运算 >> B=A (1:2, : ) B= 1 2 3 4 5 6 通过上例可以看到B是由矩阵A的1到2行和相应的所有列的元素构成的一个新的矩阵。在这里,冒号代替了矩阵A的所有列。 C是由矩阵A的2到3列相应的所有列的元素构成的一个新的矩阵,在这里,冒号代替了矩阵A的所有行。 www.themegallery.com

  48. 三、MATLAB基础及符号运算 • 外部文件读入法 该文件必须保存在MATLAB规定的缺省目录中,否则需要之名路径。 命令: Load+文件名[参数] 作用:Load函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名的变量,例如: 在MATLAB命令窗口中输入: >> load data1.txt >> data1 data1= 1 1 1 1 2 3 1 3 6 事先在记事本中 建立文件: 1 1 1 (并以data1.txt保存) 1 2 3 1 3 6 www.themegallery.com

  49. 三、MATLAB基础及符号运算 • 特殊矩阵的函数生成法。 单位矩阵:eye(m,n); eye(m) 零矩阵:zeros(m,n); zeros(m) 一矩阵: ones(m,n); ones(m) 对角矩阵: 对角元素向量 V=[a1,a2,…,an] A=diag(V) 随机矩阵: rand(m,n),rand(m) 产生一个均匀分布的随机矩阵 randn(m,n) 产生一个正态分布的随机矩阵 randperm(n) 产生1~n之间整数的随机排列 www.themegallery.com

  50. 三、MATLAB基础及符号运算 》eye(2,3) ans= 1 0 0 0 1 0 》ones(2,3) ans= 1 1 1 1 1 1 》eye(2) ans= 1 0 0 1 》zeros(2,3) ans= 0 0 0 0 0 0 例如: 》zeros(2) ans= 0 0 0 0 》ones(2) ans= 1 1 1 1 A= 5 0 0 0 7 0 0 0 2 》V=[5 7 2]; A=diag(V) www.themegallery.com

More Related