《MATLAB程序设计与应用》课程论文 MATLAB 在数学建模中的应用
姓名:扈洁
学号:12012242055 专业:电气工程及自动化 班级:12级电气自动化(1)班
指导老师:李虹 学院:物理电气信息学院 完成日期:2013年12月21日
MATLAB 在数学建模中的应用
( 扈洁 12012242055 2012 级 1 班) [摘要]:文章首先介绍了建立数学模型的基本步骤与方法,介绍了 MATLAB 的功能和特点,通过具体实
例讨论了 MATLAB 在数学建模中的应用。将 MATLAB 应用在数学建模中, 可以非常方便地求解模型, 从而提高了数学建模的效率与质量。
[关键字]:数学建模 MATLAB 数学模型
数学在其发展的早期主要是作为一种实用技术工具,用于处理人类生活及社会活动中的各种实际问题。而近年来,由于计算机的广泛应用和迅速普及,促成了数学建模的发展,也促成了实验数学的诞生。近几十年来, 数学科学迅速向自然科学、工程、经济、管理和社会科学等各个领域渗透, 在许多方面发挥着越来越重要的作用, 在很多情况下起着举足轻重、甚至决定性的作用。 数学建模和与之相伴的计算正在成为工程设计中的关键工具, 数学科学与计算机技术结合, 形成了一种普遍的、可以实现的关键技术———数学技术,并已经成为当代高新技术的一个重要的组成部分。“高技术本质上是一种数学技术”已为越来越多的人们所认同。用数学方法解决各类问题或实施数学技术, 首先要求将所考虑的问题数学化, 即建立数学模型, 这就使数学建模日益显示其关键作用, 成为现代应用数学的一个重要领域。 数学建模就是对我们在科学研究、技术改革、经济管理等现实生活中所遇到的实际问题加以分析、抽象、简化,用数学语言进行描述、用数方法寻求解决方案、办法,并通过解释、验证,最终运用于世纪的过程。MATLAB 强大的计算与图形功能为以实验的方式学习和研究数学理论创造了良好的条件,成为数学工作者一个强有力的工具,能够非常方便、快捷、高效的解决数学建模所涉及的众多实际问题, 其功能和规模比其他数学软件强大的多。数学中的许多抽象定理和结论,如今可以在实验中一目了然,新思想、新方法也可以在计算机上得到迅速的验证。本文主要通过具体实例讨论 MATLAB 在数学建模中的应用, 增强解决实际问题的能力。 一、数学模型与数学建模
数学建模是一种数学的思维模式, 是运用数学语言, 通过抽象、简化建立能近似描述并解决实际问题的一种的数学方法,建立数学模型的过程就是数学建模的过程,数学建模是一种数学的思考方法,是运用数学的语言和方法,通过抽象、简化建立能近似刻画并“解决”实际问题的一种强有力的数学手段。而数学模型则是最实际问题的一种数学表述。具体一点的说,数学模型是关于部分现实世界为某种目的的一个抽象的简化的数学结构,对于一个特定的对象为了一个特定的目标,根据特有的内在规律,做出一些必要的简化假设,最后运用适当的数学工具,得到一个数学结构。该数学结构可以是数学公式、算法、表格、图示等。
应用数学去解决各种实际问题时, 建立数学模型是至关重要的一步, 同时也是较为困难的一步。建立数学模型的过程, 是把错综复杂的实际问题简化、抽象为合理的数学模型的过程。要通过调查、收集原始信息, 观察和研究实际对象的固有特征和内在规律,抓住问题的主要矛盾, 建立起反映实际问题的数量关系, 然后利用数学的理论和方法去分析和解决问题。这需要深厚扎实的数学基础, 敏锐的想象力和洞察力, 对实际问题的浓厚兴趣和广博的知识面。数学建模是联系实际问题与数学的桥梁, 是数学在各个领域应用的媒介, 数学建模的作用越来越受到数学工程界的普遍重视, 它已成为现代科技工作者必备的重要能力之一。
二、数学模型的分类:
(1)按模型的应用领域分类:生物数学模型、医学数学模型、地质数学模型、数量经
济学模型、数学社会学模型等;
(2)按是否考虑随机因素分类:确定型模型与随机性模型; (3)按是否考虑模型的变化分类:静态模型和动态模型; (4)按应用离散方法或连续方法分类:离散模型与连续模型;
(5)按建立模型的数学方法分类:几何模型、微分方程模型、图论模型、规划论模型、
马氏链模型等;
(6)按人们对事物发展过程的了解程度分类:
白箱模型:指那些内部规律比较清楚的模型。如力学、热学、电学以及相关的工程技
术问题。
灰箱模型:指那些内部规律尚不十分清楚,在建立和改善模型方面都还不同程度的有
许多工作要做的问题。如气象学、生态学、经济学等领域的模型。
黑箱模型:指一些其内部规律还很少为人们所知的现象。如生命科学、社会科学等方
面的问题。但由于因素众多、关系复杂,也可简化为灰箱模型来研究。
三、数学建模方法
建立数学模型的方法并没有一定的模式,但一个理想的模型应能反映系统的全部重要特征:模型的可靠性和模型的使用性。
建模的一般方法:
1、机理分析。机理分析就是根据对现实对象特性的认识,分析其因果关系,找出反应内部机理的规律,所建立的模型常有明确的物理或现实意义。
(1)比例分析法—建立变量之间函数关系的最基本最常用的方法;
(2)代数方法—求解离散问题(离散的数据,符号,图形)的主要方法;
(3)逻辑方法—是数学理论研究的重要方法,对社会学和经济学等领域的实际问题; (4)常微分方程—解决两个变量之间的变化规律,关键是“瞬时变化率”的表达式; (5)偏微分方程—解决因变量与两个以上变量之间的变化规律。
2、测试分析方法。测试分析方法就是将研究对象视为一个“黑箱”系统,内部机理无法直接寻求,通过测量系统的输入输出数据,并以此为基础运用统计分析方法,按照事先确定的准则在某一类模型中选出一个数据拟合得最好的模型。
(1)回归分析法—用于对函数f(x)的一组观测值(xi,fi)i=1,2,...,n 确定函数的表达式,由于处理的是静态的独立数据,故称为数理统计方法;
(2)时序分析法—处理的是动态的相关数据,又称为过程统计方法。 3、仿真和其他方法
(1)计算机仿真(模拟)—实质上是统计估计方法,等效于抽样实验。 ①离散系统仿真—有一组状态变量;
②连续系统仿真—有解析表达式或系统结构图。
(2)因子试验法—在系统上作局部试验,再根据试验结果进行不断分析修改,求得所需的模型结构。
(3)人工现实法—基于对系统过去行为的了解和对未来希望达到的目标,并考虑到系统有关因素的可能变化,人为的组成一个系统。
将机理分析方法与测试分析方法结合起来使用,即用机理分析方法建立模型的结构,用系统测试方法来确定模型的参数,也是常用的建模方法,在实际过程中用哪一种方法建模主要是我们研究对象的了解程度和建模题目来决定。 四、数学建模的一般步骤
数学建模并不是新东西, 粗略地说,数学建模是一个多次迭代的过程, 每一次迭代大体上包括: 实际问题的抽象、简化,做出假设, 明确变量和参数; 形成明确的数学问题;以解析形式或者数值形式求解该数学模型;对结果进行解释、分析以及验证;若符合实际即可,
不符合实际则要进行修改, 进入下一个迭代。其一般过程如图1 所示。
(1)、模型准备。了解实际背景, 明确建模目的, 搜集有关信息, 掌握对象特征, 形成一个比较清晰的“问题”。 (2)、 模型假设。针对问题特点和建模目的, 做出合理的、简化的假设。在合理与简化之间作出折中。对数据资料进行分析计算, 找出起主要作用的因素, 经过必要的精炼、简化, 提出若干符合客观实际的假设。 (3)、 模型构成。用数学的语言、符号描述问题。发挥想象力, 使用类比法。尽量采用简单的、适当的数学工具表达各变量之间的关系, 建立相应的数学结构,即建立数学模型。 (4)、模型求解。利用各种数学方法、数学软件和计算机技术。在难以得出解析解时, 借助计算机求出数值解。 (5)、 模型分析。结果的误差分析、模型对数据的稳定性分析。 (6)、 模型检验。与实际现象、数据比较, 检验模型的合理性、适用性。第七, 模型应用。通过检验, 模型与实际相符后, 投入实际应用, 解决实际问题。 五、MATLAB 的功能与特点
MATLAB 功能和规摸比其他数学软件如Maple、Mathmatica强大得多,具有其
他计算机语言无法比拟的优势和特点。MATLAB的数值计算功能在数学类软件中首屈一指。它可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模分析等领域。MATLAB具有如下特点: (1)、功能强大、内涵丰富。MATLAB 拥有 600 多个工程中要用到的数学运算函数,可以方便地实现用户所需的各种计算功能;目前最新的6.5版本包括一般数值分析、矩阵运算、数字信号处理、建模、系统控制与优化、动态仿真、有限元分析等应用程序,可以方便地处理各种应用问题。 (2)、语言简单,易学易用。针对 Windows 环境下所要解决的问题,MATLAB 语言表述形式和其数学表达形式相同,不需要按传统方法编程,易学易用;而且新版本 MATLAB 提供了完整的联机查询和帮助系统,利于自学。 (3)、界面友好,编程高效、方便。MATLAB 语言简洁紧凑,使用灵活方便;用户界面接近 Windows 标准界面,人机交互强,操作极简单;库函数异常丰富,避免了复杂的子程序编程任务。 (4)、先进的数据可视化功能。最新的6.5版本不仅比一般数据可视化软件都具有的功能方面更加完善,而且对于一些其他软件所没有的功能。 (5)、丰富的模块集和工具箱。MATLAB 对许多专门的领域都开发了功能强大的模块集和工具箱,它们由特定领域的专家开发,用户可以直接使用而不需要自己编写代码。 (6)、开放性及可延拓的特性 。MATLAB 是一个开放系统,用户可以方便地看到函数的源程序,也可以通过M文件方便地开发自己的程序,甚至创建自己的“库”。 (7)、程序接口功能。 MATLAB 可以方便地与FORTRAN、C、C + +等语言进行连接,以充分