MATLAB建模与仿真实用教程(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-13 13:47:34

点击下载

作者:王健,赵国生,宋一兵

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

MATLAB建模与仿真实用教程

MATLAB建模与仿真实用教程试读:

前言

MATLAB(MATrix LABoratory,矩阵实验室)是由美国Mathwork公司于1984年推出的一款高性能的科学计算、可视化、建模和仿真以及交互式程序设计软件,是一种面向科学与工程计算的高级语言。MATLAB还有一个配套软件包Simulink,它提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统的建模与仿真开发等方面。

MATLAB从发布至今已有40余个版本,其功能日趋完善,具有编程简单、功能强大、应用范围广泛、编程效率高、易学易懂、移植性强和开放性好等特点。MATLAB目前已经发展成为多种学科必不可少的计算和分析工具,在国际上被广泛认可和使用,是日常学习、科学及应用研究,或者在高端领域进行科学实践的一种有效工具。

本书以MATLAB R2013b版本为平台,对MATLAB建模与仿真进行了详细的介绍,并配以图片说明和大量实例讲解,章节最后还有相应的习题供读者练习巩固所学知识,使读者能够尽快掌握使用MTALAB进行科学建模计算、数据可视化及仿真分析等内容。

本书共分为10章,读者可以根据以下章节内容简介和自身的需要有选择地进行阅读。除特别说明外,每一章节中的例题指令都是独立完整的,读者可以轻松地在自己的计算机上进行实践。各章主要内容如下:

第1章主要对MATLAB R2013b的基本操作进行介绍,包括软件的安装、MATLAB通用命令、应用窗口、MATLAB外部接口及MATLAB数学建模等基础知识。

第2章主要介绍了MATLAB的数据类型和数值计算的几种重要方法,包括数组、矩阵和多项式运算,以及符号运算、符号表达式运算和符号矩阵的计算。

第3章对MATLAB程序设计(即M文件编程)进行讲解,主要包括M文件的创建和打开、保存与调用、脚本文件和函数文件、函数类型、程序流程控制及M文件的调试等。

第4章着重介绍二维和三维图形的画法,以及图形窗口的建立与控制,图形和图像文件操作以及图形和图像的处理。

第5章详细地介绍了Simulink的基本知识、Simulink建模的基本步骤、模型的运行及调试、S-函数、子系统及其封装等内容。

第6章主要介绍了经常用到的用MATLAB进行科学计算的求解方法,包括线性方程、非线性方程及常微分方程的求解,数据统计处理,常用数据插值方法以及常用数据拟合方法等内容。

第7章主要介绍通信系统的建模与仿真,首先对通信系统进行了简要介绍,然后对通信系统的建模与仿真、模拟和数字通信系统的建模与仿真分析等进行了详细的介绍。

第8章主要介绍自动控制系统的建模与仿真,首先对自动控制系统进行了概述,然后分别介绍了自动控制系统的数学建模、自动控制系统的稳定性分析及时域分析等内容。

第9章主要介绍蚁群算法的建模与仿真,首先对蚁群算法和人工蚁群算法进行了简要的介绍,接下来主要介绍蚁群算法的数学建模及MATLAB验证,最后介绍了两个蚁群算法的实际应用——使用蚁群算法求解旅行商问题。

第10章主要介绍神经网络的建模与仿真,首先介绍了神经网络的发展和研究现状,然后对人工神经网络的结构及学习方式和规则等进行了详细介绍,并对BP神经网络自适应控制算法进行了介绍。

本书主要由王健、赵国生、宋一兵编写,哈尔滨理工大学王健编写第1~2章,哈尔滨师范大学赵国生编写第3~9章;其他章节由宋一兵、管殿柱、谈世哲、王献红、段辉、李文秋、管玥、赵景波、汤爱君、任孟其编写。

本书得到了以下项目的支持:国家自然科学基金项目“可生存系统的自主认知模式研究”(61202458)、国家自然科学基金项目“基于认知循环的任务关键系统可生存性自主增长模型与方法”(61403109)、高等学校博士点基金项目(20112303120007)、中国博士后科学基金面上资助项目(20090460882)、哈尔滨市科技创新人才研究专项(2016RAQXJ036)和黑龙江省自然科学基金(F2017021)。

由于编者水平有限,书中不足之处在所难免,望广大读者批评指正。编者

第1章 MATLAB建模基础

MATLAB(MATrix LABoratory,矩阵实验室)是由美国MathWorks公司发布的一款主要面向科学计算、可视化、建模和仿真以及交互式程序设计的高科技计算环境,具有编程效率高、用户使用方便、扩充能力强、移植性好等特点。尽管MATLAB主要用于数值计算,但利用为数众多的附加工具箱(Toolbox),它也适合不同领域的应用,如图形图像处理、通信系统建模与仿真、控制系统设计与分析、信号处理与通信、算法建模和分析等。另外,还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统的建模与仿真开发等方面。目前很多大型公司在将产品投入实际应用之前都会采用仿真工具Simulink对其产品进行仿真试验。

本章是学习MATLAB建模与仿真的基础,简单介绍了MATLAB R2013b的基本操作,包括软件的安装、MATLAB通用命令、应用窗口简介、MATLAB外部接口、工具箱及MATLAB数学建模等基础知识。通过对本章的学习,使初学者可以轻松地进入MATLAB建模学习的殿堂,初步掌握MATLAB的主要功能,熟悉MATLAB的操作环境及建模方法,为后面的进一步学习打下坚实的基础。

1.1 MATLAB简介

MATLAB和Mathematica、Maple并称为三大数学软件。MATLAB在矩阵计算和仿真能力方面具有强大的优势,MathWorks公司在发布MATLAB的同时也会发布仿真工具Simulink。MAT LAB将数值分析、-矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、C++、FORTRAN)的编辑模式,使得MATLAB成为工程师和科研工作者的首选工具。

1.1.1 MATLAB的安装

MATLAB的安装非常简单,打开下载好的安装包,然后直接运行setup.exe进行安装。本书以MATLAB R2013b为例进行介绍。

1)双击setup.exe,开始安装,如图1-1所示。

2)选中“不使用Internet安装”单选按钮,单击“下一步”按钮,如图1-2所示。

3)安装许可协议,选中“是”单选按钮,单击“下一步”按钮,如图1-3所示。

4)选中“我已有我的许可证的文件安装密钥:”单选按钮,并在文本框中输入安装密钥,单击“下一步”按钮,如图1-4所示。

5)在图1-5所示的对话框中,选中“典型”或“自定义”单选按钮均可,单击“下一步”按钮,都会进入如图1-6所示的对话框。选中“典型”单选按钮会自动安装所有默认已经许可的产品,而选中“自定义”单选按钮则可以自己指定想要安装的产品。一般选中“典型”单选按钮即可,并无太大影响。图1-1 MATLAB R2013b的安装方式图1-2 MATLAB R2013b安装对话框图1-3 “许可协议”对话框图1-4 “文件安装密钥”对话框图1-5 “安装类型”对话框

6)指定安装文件夹,输入安装文件夹的完整路径,也可以单击“浏览”按钮选择安装目录,然后单击“下一步”按钮,如图1-6所示。

此处需要注意的是,尽量不要把软件安装到系统盘(即C盘中),想要安装MATLAB R2013b需要7.0625 GB的空间,建议安装路径下有10 GB以上可用空间。

7)在图1-7所示的对话框中单击“是”按钮。

8)在图1-8所示的对话框中单击“安装”按钮,接下来会显示安装进度,如图1-9所示。安装的过程需要20~40分钟。图1-6 “指定安装文件夹”对话框图1-7 创建安装文件夹对话框图1-8 “确认”对话框图1-9 安装进度对话框

9)安装完成后会显示产品配置说明,如图1-10所示,单击“下一步”按钮。

10)显示安装已完成,但仍需要激活MATLAB才可以使用,单击“下一步”按钮,如图1-11所示。在弹出的对话框中选中“不使用Internet手动激活”单选按钮,如图1-12所示。图1-10 产品配置说明图1-11 安装完成激活MATLAB

11)单击“浏览”按钮,找到MATLAB R2013b的安装包,如图1-13所示的路径,找到并选择matlab_std.dat媒体文件,单击“下一步”按钮,显示激活已完成,如图1-14所示。

注意:每个版本的软件安装和激活过程不尽相同,请严格按照提示步骤进行安装和激活操作,否则可能会发生不可预知的错误,导致安装失败。

MATLAB R2013b安装完成并激活后,用户可以通过单击“开始”菜单中的MATLAB来启动MATLAB系统,也可以在MATLAB的安装目录下找到MATLAB.exe并单击运行。此外,用户可以在桌面建立MATLAB的快捷菜单,通过双击快捷方式图标,也可以启动MATLAB系统。MATLAB R2013b的启动页面如图1-15所示。图1-12 “MathWorks软件激活”对话框图1-13 “离线激活”对话框图1-14 激活完成图1-15 MATLAB启动页面

1.1.2 MATLAB通用命令

在MATLAB中,有很多的命令是会经常用到的,需要熟练地掌握其使用方法。例如,在命令行窗口输入“clear”,代表清除工作空间中的变量;输入“exit”或“quit”,代表关闭MATLAB。

MATLAB的常用命令见表1-1。表1-1 MATLAB的常用命令(续)

MATLAB中的一些标点符号有特殊的含义。例如,利用分号“;”区分矩阵的行或取消运行结果的显示,利用“”进行程序的续行。

MATLAB中常用的标点符号的含义见表1-2。表1-2 MATLAB中常用标点符号的含义

在MATLAB中,键盘按键能够方便地进行程序的编辑,有时可以起到事半功倍的效果。常用的键盘按键及其作用见表1-3。表1-3 常用的键盘按键及其作用

1.1.3 MATLAB应用窗口简介

窗口是指某一应用程序的使用界面,是用户界面中最重要的部分。在图形界面操作系统中,窗口是其最重要的组成部分之一。下面介绍MATLAB R2013b运行中的一系列具体的应用窗口。

MATLAB R2013b的工作界面如图1-16所示,主要包括菜单、工具栏、当前工作目录、命令行窗口、工作空间窗口和历史命令窗口。

MATLAB加载任何文件、执行任何命令都是从当前工作目录(Current Folder)开始的。当前目录是指所有文件的保存和读取都是在这个默认目录下进行的,这个路径可以直接修改任何一级的目录名,操作十分方便。

MATLAB的命令行窗口(Command Window)是用户使用MATLAB进行工作的窗口,是用于输入数据,运行MATLAB函数和脚本并显示结果的窗口,同时也是实现MATLAB各种功能的主窗口。MATLAB的各种操作命令都是由命令行窗口开始的。命令行窗口中的“>>”为运算提示符,表示MATLAB正处于准备状态,用户可以直接在MATLAB命令行窗口中输入MATLAB命令,输入命令后按<Enter>键,实现其相应的功能或提示错误信息。MATLAB的命令行窗口提供了非常友好的交互能力,用户可以在此环境中边思考边验证。

工作空间窗口(Workspace)就是MATLAB处理各种各样的数据时,保存在内存中的MATLAB变量名、数学结构、字节数以及类型等专门的空间,且不同的变量类型分别对应不同的变量名图标。数据存放在工作空间中,可以随时被调用。工作空间窗口是MATLAB重要的组成部分。图1-16 MATLAB R2013b的工作界面

历史命令窗口(Command History)不仅记录了MATLAB命令行窗口中输入的所有命令,还包括每次启动MATLAB的时间。这些命令不仅仅只是记录在历史命令窗口,还可以被再次执行。通过历史命令窗口执行历史命令的方法有以下几种:

1)用鼠标双击某一条命令,就可以将这条命令再次发送到命令行窗口。

2)选中想要再次执行的历史命令,然后复制到命令行窗口中就可以再次执行这条历史命令。

3)选中想要执行的历史命令,然后单击鼠标右键,在弹出的快捷菜单中选择“Evaluate Selection”选项,就可以执行相应的命令。此方法可以一次执行多条命令。

MATLAB R2013b的工作界面按钮如图1-17所示。MATLAB R2013b的工作界面按钮的含义见表1-4。图1-17 MATLAB R2013b的工作界面按钮表1-4 MATLAB的工作界面按钮的含义

单击“New Script”按钮,或者单击“New”按钮,在下拉菜单中选择“script”,进入M文件编辑/调试器窗口。M文件编辑/调试器是用户在MATLAB中进行程序设计、实现函数功能的重要编辑器之一,其窗口界面如图1-18所示。图1-18 M文件编辑/调试器窗口

MATLAB的图形窗口是MATLAB绘图功能的基础,使用极其方便。单击“New”按钮,在下拉菜单中选择“figure”,进入图形窗口,如图1-19所示。图1-19 图形窗口

1.2 MATLAB数学建模概述

MATLAB数学建模即用数学方法解决实际的应用问题。MATLAB有什么功能,数学建模大多可以用到,如简单的数值计算,符号计算,图形图像处理,还有复杂的算法模拟和系统仿真等功能,这些具体应用将在后续的章节为读者详细介绍。本节主要是让读者对MATLAB数学建模有一个大致的了解。

1.2.1 建模方法和基本步骤

简要地讲,数学建模是一个多次迭代的过程,每一次迭代大体上包括实际问题的抽象、简化,做出假设,明确变量和参数;形成明确的数学问题,以解析形式或者数值形式求解该数学模型;对结果进行解释、分析以及验证;若符合实际即可,不符合实际则要进行修改,进入下一个迭代。

1.数学建模的一般步骤(1)模型准备

首先要了解建模对象的实际背景,明确建模目的,搜集有关的信息,掌握对象特征,形成一个比较清晰的“问题”,分析实际问题中的各种因素,并用变量表示。(2)模型假设

针对问题的特点和建模目的,做出合理的、简化的假设。在合理与简化之间做出折中。对数据资料进行分析计算,找出起主要作用的因素,经过必要的精炼、简化,提出若干符合客观实际的假设。分析上述变量之间的关系,哪些是相互依存的,哪些是独立的,它们之间又存在着怎样的关系。(3)建立模型

用数学的语言、符号描述问题。根据实际问题选用合适的数学框架(典型的框架有优化问题/配置问题等),并将具体的问题在所选的数学框架中表示出来,然后发挥想象力,使用类比法,尽量采用简单的、适当的数学工具表达各变量之间的关系,建立相应的数学结构(即建立数学模型)。(4)模型求解

在利用各种数学方法、数学软件和计算机技术难以得出解析解时借助计算机求出数值解。(5)模型分析

选取合适的算法求解所建立的数学模型表述的问题,对模型的结果进行误差分析和模型的稳定性分析。(6)模型检验

使用计算结果解决实际问题,将模型计算结果与实际现象、数据进行比较,检验模型的合理性、适用性和可靠性。(7)模型应用

通过检验,证明所建立的模型与实际应用问题相符后,则可以投入到实际应用当中,解决实际应用问题。

2.建立的数学模型的基本原则(1)简化原则

现实世界的原型都是具有多因素、多变量、多层次的比较复杂的系统,对原型进行一定的简化即抓住主要矛盾,数学模型应比原型简化,数学模型本身也应该是“最简单”的。(2)可推导原则

由数学模型的研究可以推导出一些确定的结果,如果建立的数学模型在数学上是不可推导的,得不到确定的可以应用于原型的结果,则这个数学模型就是无意义的。(3)反映性原则

数学模型实际是人对现实世界的一种反映形式,因此数学模型和现实世界的原型就应有一定的“相似性”,抓住与原型相似的数学表达式或数学理论就是建立数学模型的关键性技巧。

1.2.2 建模的意义

数学模型就是对于一个特定的对象,为了一个特定的目标,根据特有的内在规律,做出一些必要的简化假设,从而得到由数字、字母或者其他数学符号所组成的,描述特定对象数量规律的数学公式、算法或图形等。

进行数学建模需要具备以下几种能力:

1)数学思维的能力。

2)分析问题本质的能力。

3)资料检索能力。

4)编程能力。

MATLAB强大的数值计算、数据处理和图形图像处理的功能,使其在数学建模中有巨大优势,无论是在建立模型的哪个阶段,MATLAB都有其他语言无法比拟的高效、快捷、方便的功能,大大提高了数学建模的效率,丰富了数学建模的方法和手段,有力地促进了问题的解决。另外,将MATLAB应用于实际的教学过程中,可以激发学生学习数学相关知识的兴趣和热情,从而提高学生运用所学数学知识分析、解决实际问题的能力。

MATLAB因为其容易上手、计算功能强大,并且拥有丰富的数据可视化函数等特点,使其成为数学建模领域重要的、应用广泛的工具软件。MATLAB提供了运用所学知识建立数学模型,使用计算机解决实际问题的能力。

1.2.3 数学模型的特点

数学模型是运用数理逻辑方法和数学语言建构的科学或工程模型。数学模型的历史可以追溯到人类开始使用数字的时代。建立数学模型是沟通实际问题与数学工具之间联系的一座必不可少的桥梁,所建模型一般有以下几点要求。

1.真实完整

1)真实地、系统地、完整地、形象地反映客观现象。

2)必须具有代表性。

3)具有外推性,即能得到原型客体的信息。在模型的研究实验时,能得到关于原型客体的原因。

4)必须反映完成基本任务所达到的各种业绩,而且要与实际情况相符合。

2.简明实用

在建模过程中,要把本质的东西及其关系反映进去,把非本质的、对反映客观真实程度影响不大的东西去掉,使模型在保证一定精确度的条件下,尽可能地简单和可操作,数据易于采集。

3.适应变化

随着有关条件的变化和人们认识的发展,通过相关变量及参数的调整,能很好地适应新情况。

数学模型是针对参照某种事物系统的特征或数量依存关系,采用数学语言概括地或近似地表述出的一种数学结构,这种数学结构是借助于数学符号刻画出来的某种系统的纯关系结构。从广义理解,数学模型包括数学中的各种概念、各种公式和各种理论。因为它们都是由现实世界的原型抽象出来的。从这意义上讲,整个数学也可以说是一门关于数学模型的科学。从狭义理解,数学模型只指那些反映了特定问题或特定事物系统的数学关系结构,这个意义上也可理解为一个系统中各变量间关系的数学表达。

数学模型所表达的内容可以是定量的,也可以是定性的,但必须以定量的方式体现出来。因此,数学模型法的操作方式偏向于定量形式。

1.2.4 数学模型的分类

数学模型可以按照不同的方式分类,常用的分类方式有按照模型的应用领域分类、按照建立模型所用的数学方法分类、按照模型的表现特性分类、按照建模目的分类及按照对模型结构的了解程度分类。

1)按模型的应用领域(或所属学科)分类,数学模型可以分为以下几种模型:生物学数学模型、医学数学模型、工程学数学模型、地质学数学模型、气象学数学模型、经济学数学模型、社会学数学模型、物理学数学模型、化学数学模型、天文学数学模型。

例如:人口模型、交通模型、环境模型、生态模型、城镇规划模型、水资源模型、再生资源利用模型、污染模型等。

2)按照建立模型所用的数学方法(或所属数学分支)分类,数学模型可以分为以下几种模型:初等数学模型、几何模型、微分方程模型、图论模型、马氏链模型、规划论模型。

3)按照模型的表现特性分类,数学模型可以分为以下几种模型:确定性模型和随机性模型、突变性模型和模糊性模型、静态模型和动态模型、线性模型和非线性模型、离散模型和连续模型。

其中,确定性模型和随机性模型取决于是否考虑随机因素的影响;静态模型和动态模型取决于是否考虑时间因素引起的变化;线性模型和非线性模型取决于模型的基本关系,如微分方程是否是线性的;离散模型和连续模型指模型中的变量(主要是时间变量)取为离散的还是连续的。

虽然从本质上讲大多数实际问题是随机的、动态的、非线性的,但是由于确定性模型、静态模型、线性模型容易处理,并且往往可以作为初步的近似来解决问题,因此建模时常先考虑确定性模型、静态模型、线性模型。连续模型便于利用微积分方法求解,作理论分析;而离散模型便于在计算机上作数值计算,所以用哪种模型要看具体问题而定。在具体的建模过程中,将连续模型离散化,或将离散变量视作连续,也是常采用的方法。

4)按照建模目的分类,数学模型可以分为以下几种模型:有描述模型、分析模型、预报模型、优化模型、决策模型、控制模型。

5)按照对模型结构的了解程度分类,数学模型可以分为以下几种模型:白箱模型、灰箱模型、黑箱模型。

白箱模型把研究对象比喻成一只箱子里的机关,要通过建模来揭示它的奥妙。白箱主要包括用力学、热学、电学等一些机理相当清楚的学科描述的现象以及相应的工程技术问题,这方面的模型大多已经基本确定,还需深入研究的主要是优化设计和控制等问题。灰箱模型主要指生态、气象、经济、交通等领域中机理尚不十分清楚的现象,在建立和改善模型方面都还不同程度地有许多工作要做。黑箱模型主要指生命科学和社会科学等领域中一些机理(数量关系方面)很不清楚的现象。有些工程技术问题虽然主要基于物理、化学原理,但由于因素众多、关系复杂和观测困难等原因也常作为灰箱模型或黑箱模型处理。白箱模型、灰箱模型、黑箱模型之间并没有明显的界限,而且随着科学技术的发展,箱子的“颜色”必然是逐渐由暗变亮的。

1.3 数学建模函数及应用

数学建模是一种数学的思考方法,是运用数学的语言和方法,通过抽象、简化,建立能近似刻画并解决实际问题的一种强有力的数学手段。数学建模在解决问题中使用非常广泛,并且MATLAB为用户提供了大量的函数,方便快捷,大大提高了使用者的效率。

1.3.1 数学建模基本函数

MATLAB数学建模需要用到许多函数,如一些基本的内部数学常数、基本的数学运算符和常用的内部数学函数等。

1)MATLAB内部数学常数见表1-5。表1-5 MATLAB内部数学常数

2)基本数学运算符见表1-6。表1-6 基本数学运算符

3)关系运算符见表1-7。表1-7 关系运算符

4)常用内部数学函数见表1-8。表1-8 常用内部数学函数(续)

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载