- MATLAB实用教程
- 郑阿奇编著
- 8字
- 2020-08-27 09:10:36
第1部分 实用教程
第1章 MATLAB R2010a环境
1.1 MATLAB简介
MATLAB(Matrix Laboratory,矩阵实验室)是MathWorks公司开发的,目前国际上最流行,应用最广泛的科学与工程计算软件。MATLAB即Matrix + Laboratory,又称为“矩阵实验室”,其强项就是高效的矩阵计算。
MATLAB是MATLAB产品家族的基础,数学运算功能强大,如矩阵运算、数值分析算法。MATLAB集成了二维和三维图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言——M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。MATLAB Compiler是一种编译工具,它能够将那些利用MATLAB提供的编程语言——M语言编写的函数文件编译生成函数库、可执行文件COM组件等,使MATLAB能够同其他高级编程语言,如C/C++语言,进行混合应用,以提高程序的运行效率。 利用M语言还开发了相应的MATLAB专业工具箱函数供用户直接使用。
Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,如航空航天动力学系统、卫星控制制导系统、通信系统、船舶及汽车等,其中包括连续,离散,条件执行,事件驱动,单速率,多速率和混杂系统等。Simulink提供了利用鼠标拖曳的方法建立系统框图模型的图形界面,而且Simulink还提供了丰富的功能块及不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。
MATLAB是目前发展最快的软件之一,自MathWorks公司推出MATLAB R2006版之后,每年都有新的版本,继MATLAB R2007、MATLAB R2008和MATLAB R2009版后, MathWorks公司于2010年2月推出了MATLAB R2010a产品族,其中MATLAB为7.10版,Simulink为7.5版。MATLAB在多线程计算、视频图像算法等方面更加突出,能够从为7.5版。
Symbolic math Toolbox中生成Simscape语言方程,Simulink中增加了Simulink PLC Coder。本书对R2010a产品族版本进行介绍。
1.1.1 MATLAB工具箱
MATLAB的基本部分是MATLAB的核心,工具箱是扩展部分。工具箱实际上是用MATLAB的基本语句编成的各种子程序集,用于解决某一方面的专门问题或实现某一类的新算法。目前,MATLAB产品的工具箱分别涵盖了数据获取、科学计算、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析及生物遗传工程等专业领域。
工具箱的应用算法是开放的、可扩展的,用户不仅可以查看其中的算法,还可以针对一些算法进行修改,甚至可以开发自己的算法以扩充工具箱的功能。这些工具箱可以任意增减,任何人可以自己生成MATLAB工具箱,很多研究成果被直接做成MATLAB工具箱发布。MathWorks除了本身提供的工具箱外还有合作伙伴提供的工具箱。成百上千个免费的MATLAB工具箱可以从Internet上获得。
MATLAB有以下主要的工具箱。
(1)控制系统工具箱(Control System Toolbox):主要应用于连续系统设计和离散系统设计,传递函数和状态空间模型建立,模型转换,方程求解,频域响应,时域响应,根轨迹分析,增益选择,极点分配等。
(2)信号处理工具箱(Signal Processing Toolbox):主要应用于数字和模拟滤波器设计,应用及仿真,参数化模型,谱分析和估计,FFT变换,DCT变换等。
(3)神经网络工具箱(Neural Network Toolbox):主要应用于BP网络,Hopfield、Kohonen网络,径向基函数网络,竞争、线性、Sigmoidal等传递函数,前馈、递归等网络结构,性能分析及应用,自组织网络等。
(4)模糊逻辑控制工具箱(Fuzzy Logic Toolbox):主要应用于友好的交互设计界面,自适应神经—模糊学习、聚类及Sugeno推理,支持Simulink动态仿真,可生成C语言源代码等。
(5)图像处理工具箱(Image Processing Toolbox):主要应用于二维滤波器设计和滤波输入,图像恢复增强,色彩、集合及形态操作,二维变换,图像分析和统计等。
(7)优化工具箱(Optimization Toolbox):主要应用于线性规划和二次规划,求函数的最大值和最小值,多目标优化,约束条件下的优化,非线性方程求解等。
(8)统计工具箱(Statistics Toolbox):主要应用于概率分布和随机数生成,多变量分析,回归分析,主极分析,假设检验等。
(9)符号数学工具箱(Symbolic Math Toolbox):主要实现符号运算,包括极限、微积分、符号方程等。
1.1.2 MATLAB功能和特点
MATLAB集科学与工程计算、图形可视化、图像处理、多媒体处理于一体,并提供了Windows图形界面设计方法。MATLAB语言有以下特点。
1.功能强大
MATLAB语言的功能强大体现在以下几个方面。
(1)运算功能强大。MATLAB是以复数矩阵为基本编程单元的程序设计语言,其强大的运算功能使其成为世界顶尖的数学应用软件之一。
MATLAB的数值运算要素不是单个数据,而是矩阵,每个变量代表一个矩阵,矩阵有m×n个元素,每个元素都可视为复数,所有的运算包括加、减、乘、除和函数运算等都对矩阵和复数有效;另外,通过MATLAB的符号工具箱,可以解决在数学、应用科学和工程计算领域中常常遇到的符号计算问题。
(2)功能丰富的工具箱。大量针对各专业应用的工具箱的提供,使MATLAB适用于不同领域。
(3)文字处理功能强大。MATLAB的Notebook为用户提供了强大的文字处理功能,允许用户从Word访问MATLAB的数值计算和可视化结果。通过使用MATLAB的Notebook,用户可以创建MATLAB的程序文档、技术报告、注释文档、手册或教科书。
2.人机界面友好,编程效率高
MATLAB的语言规则与笔算式相似,矩阵的行列数无须定义,MATLAB的命令表达方式与标准的数学表达式非常相近,易写、易读并易于在科技人员之间交流。
MATLAB是以解释方式工作的,即它对每条语句解释后立即执行,输入算式无须编译立即得出结果,若有错误也立即做出反应,便于编程者立即改正。这些都大大减轻了编程和调试的工作量,提高了编程效率。
3.强大而智能化的作图功能
MATLAB可以方便地将工程计算的结果可视化,使原始数据的关系更加清晰明了,并揭示数据间的内在联系。MATLAB能够根椐输入数据自动确定最佳坐标,可规定多种坐标系(如极坐标系、对数坐标系等),可设置不同颜色、线性、视角等,并能绘制三维坐标中的曲线和曲面。
4.可扩展性强
MATLAB软件包括基本部分和工具箱两大部分,具有良好的可扩展性。MATLAB的函数大多为ASCII文件,可以直接编辑和修改。MATLAB的工具箱可以任意增减。
5.Simulink动态仿真功能
MATLAB的Simulink提供了动态仿真的功能,用户通过绘制框图模拟线性、非线性、连续或离散的系统,通过Simulink能够仿真并分析该系统。
1.2 MATLAB R2010a的环境设置
MATLAB R2010a版的界面操作非常方便,提供了多文档管理,是数据分析和算法的交互式开发环境。MATLAB R2010a版启动后的运行界面称为MATLAB操作窗口,默认的操作窗口如图1.1所示。
MATLAB的操作界面是1个高度集成的工作界面,引入了大量的交互工作窗口并按一定的次序和关系连接在一起。它的通用操作界面包括多个常用的窗口,如图1.1所示为默认窗口,包括:命令窗口(Command Window)、工作空间/当前目录窗口(Workspace/Current older)和历史命令窗口(Command History)等。
图1.1 MATLAB R2010a版的默认操作窗口
1.2.1 菜单栏
MATLAB操作界面菜单提供了“File”、“Edit”、“Debug”、“Desktop”、“Window”和“Help”等菜单,下面分别进行介绍。
1.File菜单
File菜单用于对文件进行操作,File菜单如图1.2所示,对应的常用功能如表1.1所示。
图1.2 File菜单
表1.1 File菜单常用功能表
2.Edit菜单
Edit菜单如图1.3所示。Edit菜单的各菜单项与Windows的Edit菜单相似,其中“Paste to Workspace”有点特殊,可以用来打开数据输入向导对话框“Import Wizard”,将剪贴板的数据输入到MATLAB工作空间中。
图1.3 Edit菜单
MATLAB R2010a新增了“Find…”和“Find Files…”分别用来在窗口中查找变量和文件名。
3.Debug菜单
Debug菜单的各菜单项用于调试程序,其菜单项的功能如表1.2所示。
表1.2 Debug菜单的菜单项功能表
4.Desktop菜单
Desktop菜单用于对界面中各窗口进行打开和调整大小等操作,如图1.4所示,新增了对窗口进行调整尺寸大小的菜单。对应的主要功能如表1.3所示。
图1.4 Desktop菜单
表1.3 Desktop菜单的主要功能表
5.Windows菜单
Windows菜单提供了在已打开的各窗口之间切换的功能。
6.Help菜单
Help菜单提供了进入各类帮助系统的方法,如图1.5所示,通过菜单项打开帮助窗口,显示各部分的帮助内容。
7.开始菜单
在MATLAB操作界面的左下角有一个按钮,单击该按钮就会出现如图1.6所示的开始菜单。
开始菜单中显示的为现场菜单,包括如下几个部分。
(1)MATLAB、Toolboxes和Simulink的常用工具。
(2)Shotcuts介绍如何创建和管理用户自己的快捷方式。
(3)Desktop Tools提供了快速的打开界面窗口方式,Web、Get Product Trails和Check for Updates用于从网络上获取产品帮助和在线升级。
(4)Preferences用于打开设置参数的窗口,Find Files用于查找文件,Help和Demos用于打开帮助和演示窗口。
图1.5 Help菜单
图1.6 开始菜单
1.2.2 工具栏
工具栏是在编程环境下提供的对常用命令的快速访问。单击工具栏上的按钮,则执行该按钮所代表的操作。MATLAB R2010a的默认工具栏如图1.7所示,当鼠标停留在工具栏按钮上时可显示出该按钮的功能。
图1.7 默认工具栏
1.3 通用操作界面窗口
MATLAB R2010a操作界面的默认窗口如图1.1所示,MATLAB的通用操作界面包括多个常用的窗口,分别是:命令窗口、历史命令窗口、当前目录浏览器窗口、工作空间浏览器窗口、变量编辑器窗口、M文件编辑/调试器窗口、帮助导航/浏览器窗口和程序性能剖析窗口。
1.3.1 命令窗口(Command Window)
命令窗口默认地出现在MATLAB界面(如图1.1所示)的右侧,是进行MATLAB命令操作的最主要窗口,可以把命令窗口当做高级的“草稿纸”。在命令窗口中可输入各种MATLAB的命令、函数和表达式,并显示除图形外的所有运算结果。
命令窗口也可以单独显示,如果选择菜单“Desktop”→“Undock Command Window”命令,或是单击命令窗口右上角的按钮,或是直接拖曳命令窗口离开操作界面都会出现如图1.8所示单独的命令窗口。
图1.8 单独的命令窗口
单击命令窗口右上角的按钮,可使单独的命令窗口返回MATLAB界面。
(1)命令行的显示方式。MATLAB版运行时,命令窗口中的每个命令行前会出现提示符“>>”。命令窗口内显示的字符和数值采用不同的颜色,在默认情况下,输入的命令、表达式及计算结果等采用黑色字体;字符串采用赭红色;“if”、“for”等关键词采用蓝色。
【例1.1】 在命令窗口中输入不同的数值和语句,并查看其显示方式。
>> a=12.5 a= 12.5000 >> b='Hello' b= Hello >> if a>0 c=5 ,end c= 5
其显示如图1.8所示,其中“>>”符号所在行可输入命令,没有“>>”符号的行显示结果。
(2)命令窗口中命令行的编辑。由于MATLAB把命令窗口中输入的所有命令都记录在内存中专门的“历史命令(Command History)”空间中,因此MATLAB命令窗口不仅可以对输入的命令进行编辑和运行,而且还可以对已输入的命令进行回调、编辑和重运行。命令窗口中行编辑的常用操作键如表1.4所示。
表1.4 命令窗口中行编辑的常用操作键
(3)命令窗口中的标点符号。MATLAB常用标点符号的功能如表1.5所示。
表1.5 MATLAB常用标点符号的功能
注意
以上的符号一定要在英文状态下输入,MATLAB不能识别中文标点符号。
【例1.2】 在命令窗口中使用不同的标点符号。
>>a=12.5,b='Hello' %逗号表示分隔命令,单引号构成字符串,点号为小数点 a= 12.5000 b= Hello >>c=[12;34;56] %[]表示构成矩阵,分号用来分隔行,空格用来分隔元素 c= 1 2 3 4 5 6 >>d=a*… %…表示续行 c d= 12.5000 25.0000 37.5000 50.0000 62.5000 75.0000
(4)数值计算结果的显示格式及设置。在命令窗口中,默认情况下数值计算结果的显示格式为:当数值为整数,以整数显示;当数值为实数,以小数后4位的精度近似显示,即以“短(Short)”格式显示;如果数值的有效数字超出了这一范围,则以科学计数法显示结果。
用户可以根据需要,对命令窗口的字体风格、大小、颜色和数值计算结果的显示格式进行设置。设置方法有以下两种。
① 在MATLAB的界面选择菜单“File”→“Preferences”命令,则会出现参数设置对话框,如图1.9所示;在对话框的左栏选中“Command Window”项,在右边的“Numeric format”栏设置数据的显示格式。设置后立即生效,并且这种设置不因MATLAB关闭而改变,除非用户进行重新设置。
图1.9 参数设置对话框
② 还可以直接在命令窗口中通过输入“format”命令进行数值显示格式的设置。
语法:
format 格式描述
MATLAB的数值显示的format格式如表1.6所示。
表1.6 数值显示的format格式
注意
数值的显示精度并不是代表数值的存储精度,上表中使用不同格式显示π,但存储的π精度不变。
(5)命令窗口的清空命令。
clc:用于清空命令窗口中的所有显示内容,清空后命令窗口就是空白了。
1.3.2 历史命令窗口(Command History)
历史命令窗口默认地出现在MATLAB界面(如图1.1所示)的左下侧,用来记录并显示已经运行过的命令、函数和表达式,并允许用户对它们进行选择、复制和重运行,用户可以方便地输入和修改命令,选择多行命令以产生M文件。
历史命令窗口如图1.10所示。历史命令窗口包括:每次开启MATLAB的时间和每次开启后在命令窗口中运行过的所有命令行。
图1.10 历史命令窗口
在历史命令窗口中选择命令行,单击鼠标右键,则弹出菜单,主要功能如表1.7所示。
表1.7 历史命令窗口的主要功能及操作方法
例如,复制和运行如图1.10所示历史命令窗口中的命令。
在历史命令窗口中,先用鼠标单击选择“if a>0 c=5 ,end”命令,单击鼠标右键选择“Create Shortcut”菜单,则出现“Shortcut Editor”窗口,如图1.11所示。
图1.11 “Shortcut Editor”窗口
在“Label”栏中输入“GreaterA”,在“Category”栏选择“Toolbar Shortcuts”,在“Icon”栏中选择“Standard icon”,则在“Shortcuts”栏中显示了新增的快捷按钮。
1.3.3 当前目录浏览器窗口(Current Folder)
当前目录浏览器窗口默认地出现在MATLAB界面(如图1.1所示)左上侧的后台,用来设置当前目录,可以随时显示当前目录下的M、MDL等文件的信息,包括文件类型、文件名、最后修改时间和文件的说明信息等,并可以复制、编辑和运行M文件及装载MAT数据文件。
当前目录浏览器窗口如图1.12所示,选择“View”菜单中的“Size”、“Date Modified”、“Description”和“Type”,包括当前目录设置区和文件详细列表。
(1)当前目录的设置。在MATLAB环境中,如果不特别指明存放数据和文件的目录,则MATLAB默认地将它们存放在当前目录上。用户应把自己的目录设置成为当前目录。把用户目录设置成为当前目录的方法有两种。
① 在当前目录设置区设置。在图1.12中或MATLAB界面(图1.1)工具栏的右侧都有当前目录设置区,可以在“设置栏”中直接填写待设置的目录名,或单击图1.1工具栏的按钮选择待设置目录。
图1.12 “Current Folder”窗口
② 通过命令设置。使用“cd”命令设置当前目录。
语法:
cd %显示当前目录 cd 目录 %指定当前目录 cd… %指定上一级目录为当前目录
例如,要设置当前目录为“c:\MyDir”:
>>cd c:\MyDir
(2)文件详细列表区的使用。文件详细列表区的主要应用功能和操作方法如表1.8所示。
表1.8 文件详细列表区的主要应用功能和操作方法
例如,在“Current Folder”窗口中选择【例1.1】保存的文件名“Ex0101”和【例1.2】的文件“Ex0102”,将【例 1.2】中命令行的第一行修改为和【例 1.1】相同,然后单击鼠标右键在快捷菜单中选择“Compare Selected Files”,则打开“Files and Folders Comparisons”窗口,如图1.13所示,显示出两个文件的匹配情况。
图1.13 “Files and Folders Comparisons”窗口
可以看出两个文件有两行匹配,其余行不匹配。对于较长的文件可以用此功能查找文件的不同。
1.3.4 工作空间窗口(Workspace)
工作空间窗口(又称为内存窗口)默认地出现在MATLAB界面(如图1.1所示)的左上侧后台,用于显示所有MATLAB工作空间中的变量名、数据结构、类型、大小和字节数。在该窗口中,还可以对变量进行观察、编辑、提取和保存。
例如,在命令窗口输入:
>> a=12.5 >> b='Hello' >> c=[1 2;3 4;5 6]
如图1.14所示为工作空间窗口。
图1.14 工作空间窗口
如图1.14所示的工作空间窗口显示了变量a、b、c的名称、大小、字节数和类型,还用不同图标表示内存变量类型。
(1)当前目录工作空间窗口中变量的操作。对当前目录工作空间窗口中的变量可以进行多种操作,操作方法如表1.9所示。
表1.9 工作空间窗口主要功能的操作方法
(2)通过命令管理变量。
① 把工作空间中的数据存放到MAT数据文件。
语法:
save FileName 变量1 变量2 …参数 %将变量保存到文件中
说明:FileName为MAT文件名;变量1、变量2可以省略,省略时则保存工作空间的所有变量;参数为保存的方式,有-ASCII、-append等方式。
例如:
>>save FileName1 %把全部内存变量保存为FileName1.mat文件 >>save FileName2 a b %把变量a、b保存为FileName2.mat文件 >>save FileName3 a b-append %把变量a、b添加到FileName3.mat文件中
② 从数据文件中取出变量存放到工作空间。
语法:
load FileName 变量1 变量2…
说明:变量1、变量2可以省略,省略时则装载所有变量。
例如:
>>load Filename1 %把FileName1.mat文件中的全部变量装入内存 >>load FileName2 a b %把FileName2.mat文件中的a、b变量装入内存
③ 查阅MATLAB内存变量名。
语法:
who
例如,查阅工作空间中的a、b、c这3个变量:
>> who Your variables are: a b c
④ 查阅MATLAB内存变量变量名、大小、类型和字节数。
语法:
whos
例如:
>> whos Name Size Byte Class a 1x1 8 double array b 1x5 10 char array c 3x2 48 double array Grand total is 12 elements using 66 bytes
⑤ 删除工作空间中的变量。
语法:
clear %删除内存中的所有变量 clear 变量名1变量名2 … %删除内存中的多个变量
例如,在工作空间中删除变量a:
>> clear a >> who Your variables are: b c
当执行M文件结束后,如果再次执行,则经常需要使用clear命令清除在工作空间中的变量。
注意
用clear命令清除工作空间的变量,系统不会要求确认,而是无条件清除,且不会恢复。
⑥ 查询工作空间中是否存在某个变量。
语法:
i=exist('X') %查询工作空间中是否有'X'变量
说明:
● i=1 :表示存在1个变量名为'X'的变量;
● i=2 :表示存在1个名为'X.m'的文件;
● i=3 :表示存在1个名为'X.mex'的文件;
● i=4 :表示存在1个名为'X.mdl'文件;
● i=5 :表示存在1个名为'X'的内部函数;
● i=0 :表示不存在以上变量和文件。
1.3.5 变量编辑器窗口(Variable Editor
在默认情况下,变量编辑器窗口不随MATLAB操作界面的出现而启动。只有在工作空间窗口中选择数值、变量名,单击鼠标右键,出现快捷菜单,选择“Open Selection”菜单或者双击该变量时才会出现“Variable Editor”变量编辑器窗口,并且变量会出现在该窗口中。
如图1.15所示为变量“c=[1 2;3 4;5 6]”出现在“Variable Editor”变量编辑器窗口。
图1.15 “Variable Editor”变量编辑器窗口
可以在“Variable Editor”变量编辑器窗口中对变量进行如下所述的编辑和修改,甚至还可以更改数据结构和显示方式。
(1)在“Numeric format”栏中改变变量的显示类型。
(2)在“Size”、“by”栏中改变数组的大小。
(3)逐格修改数组中的元素值。
在图1.15中选择所有的元素,单击工具栏中的按钮,则会出现如图1.16所示的波形图。
图1.16 波形图
1.3.6 M文件编辑/调试器窗口(Editor/Debugger)
在默认情况下,M文件编辑/调试器窗口不随MATLAB界面的出现而启动。只有需要编写M文件(扩展名为.m)时,才启动该窗口。如图1.17所示为M文件编辑/调试器窗口。
图1.17 M文件编辑/调试器窗口
如图1.17所示打开了1个“Ex0101.m”文件的M文件编辑/调试器窗口,M文件编辑/调试器不仅可以编辑M文件,而且还可以对M文件进行交互式调试;不仅可处理带.m扩展名的文件,而且还可以阅读和编辑其他ASCII码文件。
M文件编辑/调试器窗口的启动方法有以下几种。
(1)单击MATLAB界面上的图标,或者选择菜单“File”→“New”→“Script”\“Function”命令,可打开空白的M文件编辑器。
(2)单击MATLAB界面上的图标,或者选择菜单“File”→“Open”命令,在打开的“Open”对话框中填写所选文件名,单击“打开”按钮,就可出现相应的M文件编辑器。
(3)用鼠标双击当前目录窗口中的M文件(扩展名为.m),可直接打开相应文件的M文件编辑器。
1.3.7 程序性能剖析窗口(Profiler)
程序性能剖析窗口用来对MATLAB的M文件中各命令的耗时进行分析。在Current Folder窗口中选择M文件后,选择菜单“Desktop”→“Profiler”命令;或在命令窗口输入“profile viewer”;或者选择菜单“Start”→“MATLAB”→“Profiler”命令,就可以独立出现程序性能剖析窗口,如图1.18所示。在该窗口中可以查看命令的运行时间,以便提高运行速度。
图1.18 程序性能剖析窗口
1.3.8 MATLAB R2010a帮助
MATLAB R2010a帮助非常强大,用户可以通过全面的帮助系统迅速掌握MATLAB的所有功能。使用以下方式都可以打开帮助窗口:
① 当单击工具栏中的图标;
② 选择菜单“Desktop”→“Help”命令;
③ 选择菜单“Help”→“Product Help”命令;
④ 选择“Start”→“Help”命令。
1.帮助窗口
打开帮助窗口,如图1.19所示的帮助窗口界面由左侧的Help Navigator(帮助导航器)和右侧的Help Browser(帮助浏览器)两部分组成。帮助导航器的功能是向用户提供各种不同的帮助手段,分为“Contents”和“Search Results”两个选项窗口。
图1.19 帮助窗口
(1)“Contents”选项窗口。“Contents”选项窗口为可展开的树状结构,向用户提供全方位系统帮助的向导图。用鼠标单击目录,条在左边的帮助浏览器中就会显示出相应的HTML帮助文件。
“Contents”选项窗口显示的目录条目包括如下几个选项。
① “Release Notes”主要介绍MATLAB R2010a版本升级的变化,该版本的新特点和功能等。
② “Installation”介绍各种环境下的安装方法。
③ “MATLAB”介绍MATLAB的应用。
“Getting Started”对MATLAB的环境、图形和编程进行入门级简单介绍。
“User Guide”对MATLAB中各种功能的入门级用户提供向导。
“Functions”将MATLAB中的内部函数进行分类,并介绍功能和举例。
“Examples”较全面地进行举例和图形界面演示。
“Demos”使用视频和文件进行详细地演示实例。
“Release Notes”介绍MATALB的各版本特性、功能。
例如,在“Help”窗口中选择菜单“MATLAB”→“Demos”→“Getting Started”→“Getting Started with MATLAB (5 min, 18 sec)”命令,单击“Run this demo”按钮,则会打开MathWorks公司技术支持网站提供的视频介绍,通过视频了解MATLAB的入门,如图1.20所示。
图1.20 “Demos”窗口
④ 常用工具箱。
在“MATLAB”文件夹下面列出了MATLAB R2010a的常用工具箱,包括“Control System Toolbox”等,每个工具箱的目录条也与“MATLAB”一样有“Getting Started”等子目录,用于进行各方面详细介绍。
(2)“Search Results”选项窗口。“Search Results”选项窗口是通过关键词查找全文中与之匹配的条目。
2.通过命令实现帮助
通过MATLAB的帮助命令可以得到纯文本形式的帮助信息,MATLAB的命令、函数的M文件都有纯文本形式的注释,用来简要描述该文件的调用格式和输入/输出变量的含义。
(1)help:显示MATLAB命令和M文件的帮助信息。
语法:
help %列出所有主要的帮助主题,每个帮助主题与MATLAB搜索路径的一个目录名相对应 help topic %给出指定主题的帮助,主题可以是函数、目录或局部路径
例如,在命令窗口输入“help abs”(绝对值函数)命令,显示该M文件的注释行,得出具体函数的用法说明:
>> help abs ABS Absolute value ABS(X) is the absolute value of the elements of X. When X is complex, ABS(X) is the complex modulus (magnitude) of the elements of X. See also SIGN, ANGLE, UNWRAP Overloaded methods help sym/abs.m
(2)lookfor:在所有的帮助条目中搜索关键字,常用来查找具有某种功能而不知道准确名字的命令。
语法:
lookfor topic %把在搜索中发现与关键字相匹配的所有M文件的H1行(第1行注释)都显示出来 lookfor topic-all %在所有M文件中搜索关键字
例如,在命令窗口输入“lookfor simulink”,查看帮助信息。
(3)doc:打开并显示帮助窗口,如图1.19所示。
语法:
doc doc topic %打开帮助导航/浏览器窗口显示指定的主题信息
3.通过Web查找帮助信息
MathWorks公司提供了技术支持网站,通过该网站用户可以找到相关的MATLAB书籍介绍,MATLAB使用建议,常见问题解答和其他MATLAB用户提供的应用程序等。
在MATLAB的界面或各独立出现的交互窗口中进行选择菜单“Help”→“Web Sources”命令,就可以打开MathWorks网页并查找相应的帮助信息。
1.4 MATLAB R2010a其他管理
1.4.1 MATLAB用户文件格式
MATLAB的用户文件格式通常有以下几种。
1.程序文件
程序文件即M文件,其文件的扩展名为.m,包括主程序和函数文件,M文件通过M文件编辑/调试器生成。MATLAB的各工具箱中的函数大部分是M文件。
2.数据文件
数据文件即MAT文件,其文件的扩展名为.mat,用来保存工作空间的数据变量。数据文件可以通过在命令窗口中输入“save”命令生成。
3.可执行文件
可执行文件即MEX文件,其文件的扩展名为.mex,由MATLAB的编译器对M文件进行编译后产生,其运行速度比直接执行M文件快得多。
4.图形文件
图形文件的扩展名为.fig,可以在“File”菜单中创建和打开,也可由MATLAB的绘图命令和图形用户界面窗口产生。
5.模型文件
模型文件扩展名为.mdl,是由Simulink工具箱建模生成的。另外,还有.s文件仿真文件。
1.4.2 设置搜索路径
MATLAB的所有文件(包括M、MAT、MEX)都被存放在一组结构严密的目录上。
MATLAB在工作时,就是按照搜索路径从各目录上寻找所需调用的文件、函数和数据。
1.MATLAB的基本搜索过程
当用户在命令窗口的提示符“>>”后输入1个名字如“X”时,则MATLAB按照以下步骤进行搜索。
(1)在MATLAB内存中进行检查,检查X是否为工作空间的变量或特殊变量。
(2)检查X是否为MATLAB的内部函数(Built-in Function)。
(3)在当前目录上,检查是否有名为“X.m”或“X.mex”的文件存在。
(4)在MATLAB搜索路径的所有其他目录中,检查是否有名为“X.m”或 “X.mex”的文件存在。
(5)如果都不是,则MATLAB发出错误信息。
注意
命令“exist”和“load”执行时也都遵循MATLAB搜索步骤的先后次序。
2.显示当前目录是否在搜索路径中
在“Current Folder”窗口中可以查看当前路径中的文件夹是否在搜索路径中,选择菜单“File”→“Preferences…”命令,在出现的“Preferences”窗口左侧栏中选择“Current Folder”,在右侧栏的“Path indication”选项中选择“Indicate inaccessible files”和“Show tooltip explaining why files are inaccessible”,并将“Text and icon transparency”调整到最前面,如图1.21所示,单击“OK”按钮保存设置。
图1.21 “Preferences”窗口
在“Current Folder”窗口中将鼠标放在目录上,则可以显示出是否在搜索路径中的说明,如图1.22所示。
图1.22 “Current Folder”窗口
3.MATLAB搜索路径的扩展和修改
当用户的某些目录不在搜索路径上,而用户需要用这些目录与MATLAB交换信息时,或者需要用某个目录存放运行中产生的文件和数据时,则必须修改搜索路径。
(1)利用设置路径对话框修改搜索路径。通过打开路径对话框修改搜索路径有两种方法。
① 在MATLAB界面中选择菜单“File” →“Set Path”命令。
② 在命令窗口运行“pathtool”命令,就会出现如图1.23所示的“设置路径”对话框。
图1.23 “设置路径”对话框
在图1.23中可以看到MATLAB的搜索路径,并可以单击“Add Folder…”和“Add with Subfolders…”按钮打开浏览文件夹窗口来添加搜索目录。如果单击了“Save”按钮,则添加的搜索目录不会因MATLAB的关闭而消失;也可单击“Remove”按钮将已有的目录删除;单击“Move to Top”、“Move Up”、“Move Down”和“Move to Bottom”按钮设置搜索路径的先后顺序。
(2)利用path命令设置搜索路径。利用path命令可以显示和添加搜索路径,用path命令扩展的搜索路径仅在当前MATLAB环境下有效。
语法:
path %列出MATLAB的搜索路径 path (path,'新增目录') %在MATLAB的搜索路径的末尾添加新目录
例如,在MATLAB的搜索路径的末尾添加已有目录“c:\MyDir”:
>> path(path,'c: \MyDir ')
(3)在“Current Folder”窗口中设置搜索路径。
在“Current Folder”窗口中选择文件夹,单击鼠标右键出现快捷菜单,如图1.24所示。选择“exe”文件夹,单击鼠标右键选择“Add to Path”菜单,如果选择“Selected Folders”菜单,则添加到搜索路径;如果选择“Remove from Path”菜单,则可以从搜索路径删除。
图1.24 增加“搜索路径”
1.4.3 文件管理命令
MATLAB的命令窗口可以在不退出MATLAB环境的条件下,通过在命令前加“!”符号,直接运行DOS操作系统的文件管理命令,例如,“!dir”、“!type”、“!copy”和“!print”等。
MATLAB本身也有文件管理的命令,常用的命令有以下6种。
(1)列出当前目录下的M、MAT、MEX文件清单。
语法:
what
例如,当前目录为“D: \MATLAB6p1\toolbox\matlab\elfun”:
>> what M-files in the current directory D:\MATLAB6p1\toolbox\matlab\elfun Contents asech cosh isreal sec abs asin cot log sech acos asinh coth log10 sign acosh atan cplxpair log2 sin acot atan2 csc mod sinh acoth atanh csch nextpow2 sqrt acsc ceil exp pow2 tan acsch complex fix real tanh angle conj floor rem unwrap asec cos imag round MEX-files in the current directory D:\MATLAB6p1\toolbox\matlab\elfun complex
(2)列出指定目录下的文件和子目录清单。
语法:
dir %列出当前目录下的文件和子目录清单 dir 目录名 %列出指定目录下的文件和子目录清单
(3)显示指定M文件的内容。
语法:
type 文件名 %显示指定M文件的内容
例如,显示“abs.m”文件的注释内容:
>> type abs.m %ABS Absolute value % ABS(X)is the absolute value of the elements of X.When % X is complex,ABS(X)is the complex modulus(magnitude)of % the elements of X % % See also SIGN,ANGLE,UNWRAP % Copyright 1984-2001 The MathWorks,Inc % $Revision:5.8$ $Date:2001/04/15 12:02:51$ % Built-in function
(4)指出M文件、MEX文件、MAT文件、工作空间变量、内置函数或Simulink模型所在的目录。
语法:
which 文件名 %指出文件所在的目录
例如,显示“abs.m”所在的目录:
>> which abs.m D:\MATLAB6p1\toolbox\matlab\elfun\abs.m
(5)返回安装MATLAB的根目录。
语法:
matlabroot
例如:
>> matlabroot ans = C:\Program Files\MATLAB\R2010a
1.4.4 退出MATLAB
若要退出MATLAB环境,则可以使用以下任何一种方式。
(1)在MATLAB的命令窗口输入“exit”命令。
(2)在MATLAB的命令窗口输入“quit”命令。
(3)直接单击MATLAB命令窗口中的按钮。
1.5 1个实例
大家可以通过下面1个实例,对MATLAB的通用操作界面更加熟悉,并且掌握在命令窗口中使用简单的命令。
【例1.3】 MATLAB通用操作界面的综合运用。
按照以下步骤进行。
(1)启动MATLAB。
(2)在命令窗口(Command Window)中输入以下几行命令,创建4个变量:
>>a=[1 2 3; 4 5 6;7 8 9]; >>b=[1 1 1;2 2 2;3 3 3 ]; >>c='MATLAB' >>d=a+b*i
(3)打开工作空间浏览器窗口(Workspace)查看变量,共有4个变量,如图1.25所示为MATLAB界面的左上侧的工作空间窗口。
图1.25 工作空间窗口
(4)双击其中的变量“d”,出现变量编辑器窗口(Variable Editor),如图1.26所示为该变量的详细信息。
图1.26 变量编辑器窗口
(5)打开历史命令窗口(Command History),如图1.27所示,选择上面的4行命令,单击鼠标右键,在快捷菜单中选择“Create M-File”命令生成M文件。
(6)出现M文件编辑/调试器窗口(Editor/Debugger),如图1.28所示。
在第一行添加注释语句“%MATLAB Desktop Example”,单击工具栏的“Save”按钮,将该文件保存为“c:\MyDir\Ex0103.m”。
图1.27 历史命令窗口
图1.28 M文件编辑/调试器窗口
在上图中选择工具栏的按钮可以运行该程序,在运行之前会弹出一个对话框如图1.29所示,询问是否修改当前路径,可以选择“Change Folder”或者“Add to Path”按钮修改当前路径,或将该路径添加到搜索路径中。
图1.29 路径修改对话框
(7)如果当前路径不是用户路径,则可以打开当前目录浏览器窗口(Current Directory Browser),将当前目录设置为“c:\MyDir”,可以看到刚保存的“ex0103.m”文件,在命令窗口输入“ex0103”运行该文件。
(8)在命令窗口输入“save Ex0103”命令,则在当前目录工作空间窗口可以看到当前目录下生成了1个“Ex0103.mat”数据文件,如图1.30所示。
(9)在命令窗口输入“exit”命令退出MATLAB。
(10)重新启动MATLAB后,在命令窗口输入“Ex0103”则不能运行该文件,该文件不在MATLAB的搜索路径中。选择MATLAB界面中的菜单“File”→“Set Path”命令,打开设置路径对话框,将“C:\MyDir”目录添加到搜索路径中,如图1.31所示,单击“Save”按钮关闭该对话框,重新输入“ex0103”则可以运行该文件。
图1.30 当前目录工作空间窗口
图1.31 设置路径对话框
(11)退出MATLAB后重新启动,打开工作空间窗口看到没有内存变量。如果要导入“Ex0103.mat”数据文件的变量,则可选择菜单“File”→“Import Data”命令,然后选择“C:\MyDir\ Ex0103.mat”文件,如图1.32所示为“Import Wizard”窗口。
图1.32 “Import Wizard”窗口
在“Import Wizard”窗口选中需要导入的变量前的复选框,在图中选择了a、b、d 3个变量后,单击“Finish”按钮,查看工作空间窗口中出现的3个变量。
(12)如在MATLAB命令窗口输入“ex0103”则可以运行该文件。如果输入“type Ex0103”命令,则可以看到该文件的内容显示如下。
>> type ex0103 a=[1 2 3; 4 5 6;7 8 9]; b=[1 1 1;2 2 2;3 3 3 ]; c='计算'; d=a+b*I