1、2019/2/8,第五章 MATLAB及应用,5.1 MATLAB简介 5.2 数据类型及数值运算 5.3 一般图形功能 5.4 程序设计M文件 5.5 MATLAB化工应用实例,泰山医学院 Taishan Medical University,化学与化学工程学院,2019/2/8,5.1 MATLAB简介,MATLAB源于MATrix LABoratory一词,即矩阵实验室。一开始它是一种专门用于矩阵数值计算的软件。随着MATLAB逐渐市场化,MATLAB不仅具有了数值计算功能,而且具有了数据可视化功能。在目前的常用版本MATLAB 6.5中,MATLAB不仅在数值计算、符号运算和图形处理等
2、功能上进一步加强,而且又增加了许多工具箱。,2019/2/8,5.1.1MATALAB运行环境介绍,(1)MATLAB 6.5的安装将MATLAB 6.5的安装盘放入光驱,对已安装MATLAB的用户,界面会一闪而过或者根本看不到界面的出现,这时系统认为安装已完成,此时用户需要自己执行支装盘内的setup.exe文件启动MATLAB 6.5的安装程序。 (2)MATLAB 6.5的启动启动MATLAB 6.5有多种方式。最常用的就是双击系统桌面的MATLAB图标,也可以在开始菜单的程序选项中选择MATLAB快捷方式,还可以在MATLAB的安装路径的bin子目录中双击可执行文件matlab.exe
3、。,2019/2/8, MATLAB主窗口,图5-2,与MATLAB早期版本不同的是,MATLAB 6.5增加了一个主窗口,如图5-2所示。其他几个窗口都包含在这个大的主窗口中。主窗口不能进行任何计算任务的操作,只用来进行一些整体的环境参数的设置。,2019/2/8, 命令窗口,MATLAB 6.5的命令窗口如图5-3所示。,图5-3,2019/2/8, 历史窗口,历史窗口在MATLAB的早期版本中曾有过雏形,在MATLAB 6.5中再次出现,而且被赋予了更为强大的功能。其窗口形式如图5-4所示。,图5-4,2019/2/8, 当前目录窗口,在当前目录窗口中可显示或改变当前目 录,还可以显示当
4、前目录下的文件并提供搜索功能。其窗口形式如图5-5所示。,图5-5,2019/2/8, 工作间管理窗口,工作间管理窗口是MATLAB 6.5的重要组成部分,如图5-6所示。,在工作间管理窗口中将显示目前内存中所有的MATLAB变量的变量名、数学结构、字节数以及类型,不同的变量类型分别对应不同的变量名图标。,图5-6,2019/2/8,5.1.2 MATLAB的帮助系统,完善的帮助系统是任何应用软件必要的组成部分。MATLAB 6.5同样提供了相当丰富的帮助信息,同时也提供了获得帮助的方法。它的帮助系统大致可以分为三大类联机帮助系统、命令窗口查询帮助系统和联机演示系统。 (1)联机帮助系统进入M
5、ATLAB联机帮助系统的方法很多,最简单的方法就是直接按下MATLAB主窗口的按钮,还可以点击主窗口【Help】下拉菜单中的前4项中的任何一项 (2)命令窗口查询帮助系统熟练的用户可以使用更为快速的命令窗口查询帮助。这些帮助可以分为“help”系列、lookfor命令和其他常用帮助命令。 (3)联机演示系统除了在使用时查询帮助,对于MATLAB或某个工具箱的初学者,最好的办法就是查看它的联机演示系统。,2019/2/8,5.2 数据类型及数值运算,5.2.1 基本数据类型常量和变量 5.2.2 数组及向量运算 5.2.3 矩阵及其运算 5.2.4 多项式运算,2019/2/8,5.2.1 基本
6、数据类型常量和变量 (1)变量:与其他程序设计语言不同的是,MATLAB语言并不要求对所使用变量进行事先声明,也不需要指定变量类型,它会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型。 在MATLAB语言中变量的命名遵守如下原则: 1、变量名区分大小写; 2、变量名长度不超过31位,第31个字符之后的字符就被忽略; 3、变量名以字母开头,可包含字母、数字、下划线,但不能使用标点。,2019/2/8,(2)常量:MATLAB有一些预定义的变量,这些特殊的量 成为常量。表5-1给出了MATLAB语言中经常使用的一些量及其说明。,2019/2/8,5.2.2 数组及向量运算,(1)向量的
7、生成生成向量最直接的方法就是在命令窗口中直接输入。格式上的要求是,向量元素需要用“ ”括起来,元素之间可以用空格、 逗号或分号分隔。 (2)向量的运算 向量与数的相加(减)、相乘(除)以及向量与向量的相加(减)运算非常简单。 向量与向量的相乘比较复杂,可以分为点乘与叉乘两类:向量的点乘是指两个向量在其中某一个向量方向上的投影的乘积,通常可以用来引申定义向量的模;向量的叉乘表示过两相交向量的交点的垂直于两向量所在平面的向量。,2019/2/8,5.2.3 矩阵及其运算,(1)矩阵的生成对于数值矩阵,从键盘上直接输入是最方便、最常用和最好的方法,尤其适合较小的简单矩阵。 1、输入矩阵时要以“ ”为
8、其标识,即矩阵的元素应在“ ”内部,此时MATLAB才将其识别为矩 2、矩阵的同行元素之间可由空格或“,”分隔,行与行之间要用“;”或回车符分隔; 3、矩阵大小可不预先定义;矩阵元素可为运算表达式。,2019/2/8,(2)矩阵的运算 常数与矩阵的运算即是同此矩阵的各元素之间进行运算,如数加是指每个元素都加上此常数,数乘即是每个元素都与此常数相乘。 矩阵之间的加减法运算使用“”、“”运算符,格式与数字运算完全相同,但要求相加减两矩阵是同阶的; 矩阵之间的乘法运算使用“*”运算符;矩阵之间的除法可以有两种形式:左除“”和右除“”。 矩阵的幂运算的形式同数字的幂运算的形式相同,即用算符“”来表示。
9、,2019/2/8,5.2.4 多项式运算,(1)多项式的生成对于多项式P(x)a0xn+a1xn-1+an-1x+an,用以下的行向量表示:Pa0,a1,an-1,an;这样就把多项式的问题转化为向量问题。 (2)多项式的运算多项式的乘法由函数“conv”实现;多项式的除法由函数“deconv”实现。求多项式的根可以有两种方法,一种是直接调用MATLAB 的函数“roots”,求解多项式的所有根;另一种是通过建 立多项式的伴随矩阵再求其特征值的方法得到多项式的所有根。,返回目录,2019/2/8,5.3 一般图形功能,5.3.1 基本图形绘制 5.3.2 图形格式转化 5.3.3 图形属性控
10、制 5.3.4 坐标轴属性控制 5.3.5 图形窗口控制,2019/2/8,5.3.1 基本图形绘制,二维图形的绘制是MATLAB 语言图形处理的基础,也 是在绝大多数数值计算中 广泛应用的图形方式之一。 绘制二维图形最常用的 命令就是“plot”函数,对 于不同形式的输入,该函 数可以实现不同的功能。 MATLAB语言还提供了绘 制不同形式的对数坐标曲 线的功能 如图5-14所示:,图5-14,2019/2/8,5.3.2 图形格式转化,MATLAB语言提供了对图像的处理功能,用户可以利用提供 的函数对外部图形进行操作,或将MATLAB图形转化为其它 的图形格式。在MATLAB环境下,调用外
11、部图形的函数为“imread”,通过这个函数可以将其他绘图软件编辑的图形转换为MATLAB可识别的类型; MATLAB提供的写入图像文件的函数为“imwrite”,该函数将图像矩阵写入外部文件,具体调用格式如下:A=imread(filename,fmt) imwrite(A, filename,fmt) 应当注意的是,这里所能调用的图形文件应当在当前MATLAB 的搜索路径上,否则将无法识别;,2019/2/8,5.3.3 图形属性控制,在调用绘图函数时,系统会自动为图形规定一个简单的标注。同时,MATLAB语言提供了丰富的图形标注函数用来标注用户所绘制的图形。 MATLAB提供了许多坐标轴
12、标注 的函数,主要函数有“title”、 “xlabel”和“ylabel”等。其中 函数“title”是为图形添加标题 ,而xlabel”和“ylabel”是为x 和y坐标轴添加标注。三函数的 调用格式大同小异,以函数 “title”为例,2019/2/8,5.3.4 坐标轴属性控制,(1)坐标轴的控制函数axis 最简单的调用形:axis(V) axis控制字符串 (2)坐标轴缩放函数zoom函数“zoom”可以实现对二维图形的缩放,该函数在处理图形局部较为密集的问题中有很大作用。 应当注意的是,对图形的缩放不会影响图形的原始尺寸,也不会影响图形的横纵坐标比例,即不会改变图形的基本结构。,
13、2019/2/8,(3)平面坐标网图函数grid与坐标轴封闭函数box,与三维图形的情形相类似,MATLAB语言也提供了平面的网图函数,不过“grid”函数此时并不是用于绘制图形,而仅是绘制坐标网格,用来提高图形显示效果。图形效果如图下,2019/2/8,5.3.5 图形窗口控制,“File”菜单与桌面平台相似,但增加“Export”和“Page Setup”等选项。“Export”选项将打开图形输出对话框,如图5-18所示。,5-18,2019/2/8,“Page Setup”选项将打开页面设置对话框,如图5-19所示。,5-19,2019/2/8,“Edit”菜单中增加了“Figure P
14、roperties”、“Axes Properties”和“Current Object Properties”等选项。 “Figure Properties”选项将打开图形属性设置对话框,如图5-20所示。,图5-20,2019/2/8,“Axes Properties”选项将打开坐标轴属性对话框,如图5-21所示。,图5-21,返回目录,2019/2/8,5.4 程序设计M文件,5.4.1 M文件简介 5.4.2 M文件的程序结构 5.4.3 程序流控制,2019/2/8,5.4.1 M文件简介,MATLAB实质上是一种解释性语言,就MATLAB本身来说,它并不能做任何事情,本身没有实现功
15、能而只对用户发出的指令起解释执行的作用。M文件有两种形式:命令式(Script)和函数式(Function)。命令式文件就是命令行的简单叠加,MATLAB自动按顺序执行文件中的命令。函数式文件主要用以解决参数传递和函数调用的问题,它的第一句以function语句为引导。另外,值得注意的是,命令式M文件在运行过程中可以调用MATLAB工作域内所有的数据,而且所产生的所有变量均为全局变量。,2019/2/8,5.4.2 M文件的程序结构,(1)命令式文件: 建立良好的书写风格,保持程序的可读性; 不需要用end语句作为M文件的结束标志; 文件完成后,不要忘记以“.m”作为文件的扩展名; 在运行此函
16、数之前,需要把它所在目录加到MATLAB的搜索路径上去,或将文件所在目录设为当前目录。,2019/2/8,(2)函数式文件,为了实现计算小的参数传递,需要用到函数式文件。函数式的标志是第一行为function语句。 在编写函数式文件需要注意 : 要特别注意文件名与函数名一一对应, 这样才能保证调用成功; function后的语句定义函数名和输入输出参数,在函数被调用过程中将按此输入输出格式执行; 要养成良好的注释习惯,以方便自己或其他用户的调用。,2019/2/8,5.4.3 程序流控制,1)循环语句:在实际问题中会遇到许多有规律的重复运算,如有些程序中需要反复地执行某些语句,这样就需要用到循
17、环语句进行控制。MATLAB语言中提供了两种循环方式:for循环和while循环。 2)选择语句:复杂的计算中常常需要根据表达式的情况 是否满足条件来确定下一步该做什么。MATLAB提供了if-else-end语句来进行判断选择。MATLAB的if语句同其他的计算机语句中的选择语句相似,大致可分为如下三个步骤:,2019/2/8,判断表达式紧跟在关键字if后面,使得它可以首先被计算; 对于判断表达式计算结果,若结果为 0,判断值为假,若结果为1,判断值为真; 若判断值为真,则执行其后的执行语 句;否则跳过,不予执行。 选择语句的一般形式为: if expression(表达式)statemen
18、ts(执行语句); else expression(表达式)statements(执行语句); end,2019/2/8,5.5 MATLAB化工应用实例,(1)题目(非等温管式反应器固定床反应器一维稳态拟均相模型的模拟计算) 在一列管反应器中进行邻二甲苯(A)氧化制邻苯二酸酐(B),反应为连串平行反应:,其中,C是归并在一起的最终氧化产物CO和CO2。,2019/2/8,(2)数学模型 (3)程序清单(NonIsothermTR.m) (4)计算结果轴向温度分布、转化率分布和浓度分布分别示于图5-26、图5-27和图5-28中。,2019/2/8,图5-26 轴向温度分布,图5-27 转化率分布,2019/2/8,图5-28 浓度分布,返回目录,