MATLAB在自动控制中的应用.docx
《MATLAB在自动控制中的应用.docx》由会员分享,可在线阅读,更多相关《MATLAB在自动控制中的应用.docx(17页珍藏版)》请在冰点文库上搜索。
MATLAB在自动控制中的应用
MATLAB语言及应用
自动控制系
第1章MATLAB简介第2章MATLAB基本使用方法及常用功能介绍第3章数学模型的MATLAB描述第4章控制系统分析与设计第5章基于Simulink的控制系统建模第6章反馈控制系统分析与设计第7章MATLAB应用案例
第7章处26话简介
i・i概述1・2桌面启动1・3通用操作界面简介
1・4运行方式1・6帮助系统1・7工具箱1・8安装和内容选择
第诽勿Q虫荷介:
:
:
"•皿1.1概述H:
MATLAB是MATrixLABoratorv(矩阵实验室)
的缩写,是由美国TheMathWorks公司7*1984年推出的一种科学与工程计算语言。
20世纪80年代初,MATLAB的创始人CleveMoler博士在美国NewMexico大学讲授线性代数课程时,构思并开发了MATLAB。
该软件一经推出,就备受青睐和瞩目,其应用范围也越来越广阔。
后来,Moler博士等一批数学家与软件专家组建了TheMathWorks软件开发公司,专门扩展并改进MATLAB。
这样,MATLAB就于1984年推岀了正式版本,到2005年,MATLAB已经发展到了7.1版。
与其他计算机语言相比较,MATLAB具有其独树一帜的特点:
(1)简单易学。
(2)代码短小高效。
(3)功能丰富,可扩展性强。
(4)强大的图形表达功能。
(5)强有力的系统仿真功能。
n
第诽勿Q虫荷介•
••••
1.2桌面启动氓:
通常,启动MATLAB桌面主要采用以下两种方法。
方法一:
在Windows桌面上,用鼠标左键双击MATLAB的快捷方式图标,系统就会进入MATLAB的工作环境,首先出现MATLAB的标志图形,接着打开MATLAB桌面,如图1・2所示。
采用这种方式打开的MATLAB桌面以matlab71\work为当前目录。
注意,在MATLAB成功安装后,会在Windows桌面上自动生成MATLAB的快捷方式图标。
方法二:
用鼠标左键双击matlab71\bin\Win32文件夹中的MATLAB,exe(其图标是妙),也会打开类似于图1・2所示的MATLAB桌面。
方法二与方法一的惟一区别是,采用这种方式打开的MATLAB桌面以matlab71文件夹为当前目录。
建议读者优先采用“方法一”启动MATLABo
第/秦初2虫简介
图1.1缺省界面
MATLAB7.1版含有大量的交互工作界面,
包括通用操作界面、工具包专用界面、帮助界面
及演示界面等。
所有这些交互工作界面按一定的
次序和关系被链接在称为“MATLAB桌而
(Desktop)"的一个高度集成的工作界面中。
图1.1为缺省的MATLAB7.1桌面。
桌面的上层铺放着三个最常用的界面(或窗口),即:
命令窗口(CommandWindow)、命令历史(CommandHistory)窗口及当前目录(CurrentDirectory)浏览器。
缺省情况下,还有一个只能看到窗口名称的工作空间
(Workspace)浏览器,它被铺放在桌面下层。
1.3通用操作界面简介
1.命令窗口
缺省情况下,命令窗口位于MATLAB桌面的右侧
(见图1.1),是用户与MATLAB进行人机对话的最主要环境。
在该窗口内,可输入各种由MATLAB运行的命令、函数、表达式,显示除图形外的所有运算结果。
2.命令历史窗口•
缺省情况下,命令历史窗口位于MATLAB桌面左下方的前台(见图1.1)o该窗口记录并显示每次开启MATLAB的时间及所有MATLAB运行过的命令、函数及表达式等,允许用户对它们进行选择复制、重运行及产生M文件。
第冲勿¥7乙念简介
••••••••••••
3.当前目录浏览器
缺省情况下,当前目录浏览器位于MATLAB桌面左上方的前台(见图1・1)c在该浏览器中,可以进行当前目录的设置,展示相应目录上的・山及・indl等文件,复制、编辑和运行M文件以及装载MAT数据文件等。
第冲勿¥7乙念简介
•••••••••
4.工作空间浏览器
缺省情况下,工作空间浏览器位于MATLAB桌面左上方的后台(见图1.2)o该窗口列出了MATLAB工作空间中所有数据的变量信息,包括变量名、大小、字节数等。
在该窗口中,可以对变量进行观察、编辑、提取及保存。
5.开始(Start)按钮
启动MATLAB后,在MATLAB桌面的左下角可以看到一个图标[妙宝圈(见图1.2),这是在MATLAB6・5及以后版本中新增加的开始按钮。
用鼠标左键单击该按钮之后会出现MATLAB的现场菜单,见图1・2。
该菜单的菜单子项列出了已安装的各类MATLAB组件和桌面工具。
第/秦初%^荷命
图1.2单击Sum按钮后的MATLAB桌面
7.M文件编辑/调试器(Editor/Debugger)
缺省情况下,该编辑/调试器不随操作界面的出现而启动,只有当进行“打开文件”等操作时,该编辑/调试器才启动。
8.帮助导航/浏览器(HelpNavigator/Browser)
缺省情况下,该浏览器并不随操作桌面的
出现而启动,只有在特意选择或设置的情况下,才以独立交互界面的形式出现。
该浏览器详尽
展示了由超文本写成的在线帮助。
1・4运行方式:
:
:
?
1.命令行运行方式
可以通过在MATLAB命令窗口中输入命令行来实现计算或绘图功能°
【例1・1】已知矩阵A=834?
完成矩阵求和运算A+B。
【解】在MA1TAB命令窗口输入下述内容:
»A=[56;78];
»B=[12;34];
»C=A+B
按下“回车”键后,在MATLAB命令窗口显示运行结果如下:
C=
68
1012
说明:
本例中每个命令行行首的符号“>>〃是命令输入提示符,它不需要用户输入,而由MATLAB自动生成。
2.M文件运行方式[壬
命令行运行方式实际上也是MATLAB语言的一种程序编制方式,即在MATLAB命令窗口中逐行输入命令(也称为程序),计算机每次对一行命令做出反应。
但这种方式只能编写简单的程序,作为入门学习可以采用。
若程序较为复杂,就应该把程序写成一个由多行命令组成的程序文件,即程序扩展名为・ui的M文件,让MATLAB语言执行这个文件。
而编写和修改这种文件程序就要用到M文件编辑/调试器。
第游勿q虫荷介;;;•
••••
■■■■■■••••
在MATLAB命令窗口中选择菜单“FileINewM:
:
*File”,即可打开一个缺省名灿ntitled.ni白品文件编辑/调试器窗口(即M文件输入运行界面),亦称M文件窗口或文本编辑器,如图1・3所示。
在该窗口输入程序(即命令行的集合),可以进行调试或运行。
例如,可将例1・1矩阵求和的MATLAB命令全部输入到M文件编辑调试器窗口中(见图1.3),然后选择该窗口菜单“DebugIRun”(初次建立M文件为“Debug|SaveandRunv,同样会在MATLAB命令窗口输出C二A+B的值。
第/秦勿¥7厶恋简介
图1.3M文件编辑调试器窗口
第/秦他TU届岂金;;
1.5图形窗口h
在MATLAB命令窗口中选择菜单“FileINew|Figure",或在命令窗口中输入"figure,/或其他绘图命令,即可打开MATLAB的图形窗口,如图1・4所示。
MATLAB的绘图都在这样一个图形窗口中进行。
如果想再创建一个图形窗口,则可再输入"figure-,MATLAB就会新建一个图形窗口,并自动给它依次排序。
图1.4MATLAB的图形窗口
第洋羽劝匕恋简介
1.6帮助系统
1.命令行帮助
命令行帮助是一种“纯文本”帮助方式。
MATLAB的所有命令、函数的M文件都有一个注释区。
在该区
中,用纯文木形式简要地叙述了该函数的调用格式和
输入、输出变量的含义。
该帮助内容最原始,但也
最真切可靠。
每当MATLAB不同版本中的函数文件发生
变化时,该纯文本帮助也跟着同步变化。
所以,纯文本帮助具有独特的作用。
利用“help”命令,即在MATLAB命令窗口中丨运行“help”,就可以获得命令行帮助。
【例1.2]命令行帮助实例。
【解】
(1)运行“help"(直接在MATLAB命
令窗口中输入“help"),则显示的帮助信息将列出所有函数类别及工具箱的名称和功能。
在MATLAB命令窗口中输入:
>>help
Generalpurposecommands.
第洋勿念简介
运行结杲为:
HELPtopics
matlab\general
inatlab\langmatlab\elrnatinatlab\elfun
■
Programminglanguageconstructs.
Elementarymatricesandmatrixmanipula
Elementarymathfunctions.
matlab\ops
Operatorsandspecialcharacters.
(3)若在help命令后面添加工具箱名,则可卑获得该工具箱中各种类别函数的名称和功能说明。
例如,运行helpcontrol,将获得控制系统工具箱中各种类别函数的名称和功能说明。
在MATLAB命令窗口中输入:
>>helpcontrol
第洋初%^荷命
运行结果为:
ControlSystemToolbox
Version6.2.1(R14SP3)26Jul2005
General.
ctrlpref-SetControlSystemToolboxpreferences.
Itiinodels-DetailedhelponthevarioustypesofLTImodels.
ltiprops一DetailedhelponavailableLTImodelproperties.
(4)若在help命令后面添加函数名,则可以获得该函数的具体使用方法。
如运行“helprank-,即可以获得矩阵求秩函数的具体用法。
在MATLAB命令窗口中输入:
»helprank
第洋勿¥7乙恋简介
运行结果为:
RANKMatrixrank.
RANK(A)providesanestimateofthenumberoflinearlyindependentrowsorcolumnsofamatrixA.
RANK(A,tol)isthenumberofsingularvaluesofAthatarelargerthantol.
RANK(A)usesthedefaulttol=max(size(A))*eps(norm(A)).
2.联机帮助(帮助导航/浏览器)
联机帮助IIIMATLAB的帮助导航/浏览器完成。
该浏止器是
MATLAB专门设计的一个独立帮助子系统,由帮助导航器(HelpNavigator)和帮助浏览器(HelpBrowser)两部分组成,见图1.6o构成这个子系统的文件全部存放在matlab\help冃录下,与M文件完全无关。
该帮助子系统对MATLAB功能的叙述系统、丰富、详尽,而且界面十分友好、方便,随版本的更新速度也快,是寻求帮助的主要资源Z-o
第/秦初%^荷命
图1.6帮助导航/浏览器界面
打开图1・6的帮助导航/浏览器的方法有以下几种:
(1)在MATLAB命令窗口中运行命令
“helpbrowser"或"helpdesk"n
(2)在MATLAB桌面上,用鼠标左键单击工具栏图标t,或选择菜单“HelpIMATLABHelp〃。
(3)在MATLAB各独立出现的交互窗口中,选择菜单“HelpIMATLABHelp9□
第/秦勿恋制介:
:
••••••••••••J}
3.演示帮助三
MATLAB及其工具箱都有很好的演示程序,即Demos,其交互界面如图1.7所示。
这组演示程序由交互界面引导,操作非常方便。
通过运行这组程序,对照屏幕上的显示,仔细研究实现演示的M文件,无论是对MATLAB的初学者还是对老用户来说,都是十分有益的。
该演示程序的示范作川独特,是包插MATLABJIJ户指南在内的有关书籍所不能替代的。
对丁-想学习和掌握MATLAB的人來说,不可不看这组演示程序。
但对初学者来说,则不必急于求成去读那些太复杂的程序。
第/秦勿Q虫简介
图1.7演示帮助(Demos)界面
第/秦勿Q虫简介
•••••••••
运行演示程序主要有以下两种方法:
(1)在MATLAB命令窗口中运行命令“demos"。
(2)在MATLAB命令窗口中选择菜单“HelpIDemos"。
第/秦他ru曲&介:
:
:
.
4.Web帮助HP
MATLAB具有非常丰富的网络资源,其Internet网址如:
http:
//www.uiathworks.coin
这是TheMatliWork^公司的官方网站。
从该网站不仅可以了解MATLAB的最新动态,也可以找到相关MATLAB的书籍介绍、MATLAB的使用建议、常见问题解答及其他MATLAB用户提供的应用程序等。
山此可见,丰富的帮助资源以及获取帮助的方法使得学习和使用MATLAB变得更加容易。
1・7工具箱
控制系统工具箱是MATLAB专门针对控制系统工程设计的函数和工具的集合。
该工具箱主要采用M文件形式,提供了丰富的算法程序,所涉及的问题基本涵盖了经典控制理论的全部内容和一部分现代控制理论的内容,主要用于反馈控制系统的建模、分析与设计。
控制系统工具箱的主要作用如下:
:
:
:
•
首先,应用控制系统工具箱可以创建控制系统的也种数学模型,如传递函数模型、零/极点增益模型以及状态空间模型等,既适用于连续时间系统,也适用T离散时间系统,并且还可以实现不同数学模型Z间的相互转换。
其次,应用控制系统工具箱能够轻松地绘制控制系统的时间响应曲线、频率特性曲线以及根轨迹图。
不仅如此,应用控制系统工具箱屮的控制系统设计函数,还能够快速完成系统的极点配置、
式环境,还可以让川户通过编写M文件,建立自己的控制模型
和控制算法。
1・7・2Simulink
Simulink是用来进行建模、分析和仿真各种』J态系统的一种交互环境,它提供了采用鼠标拖放的方法建立系统框图模型的图形交互平台。
通过Simulink模块库提供的各类模块,可以快速地创建动态系统的模型。
同时,Simulink还集成了状态流(Stateflow),用来进行复杂事件驱动系统逻辑行为的建模与仿真。
另外,Simulink也是实时代码生成工具(RealTimeWorkshop,RTW)的支撑平台。
Simulink的主要功能姒H。
1.交互建模
Simulink模块库提供了大量的、功能各异的模块,可以方便用户快速地建立动态系统模型。
建模时只需使用鼠标拘放Simulink模块库中的模块,并将它们连接起来即可。
2.交互仿真
Simulink提供了交互性很强的仿真环境,可以通过下拉菜单执行仿真,或使用命令进行批处理。
仿真结果可以在运行的同时通过示波器(一种输岀显示/观测装置)或图形窗口查看。
第诽勿Q虫荷介•
扩充和定制J:
:
*
Simulink的开放式结构允许用户扩展仿真环境的功胡,即可以用MATLAB、Fortran或C语言代码等生成自定义模块库,并拥有自己的图标和界面,还可以将原有的Fortran或C语言代码连接起來。
4.与MATLAB和工具箱集成
lIlTSimulink可以直接利用MATLAB的数学、图形和编程功能,因此用户可以直接在Simulink下完成诸如数据分析、过程自动化、优化参数等工作。
MATLAB工具箱提供的高级设计和分析能力可以通过Simulink的屏蔽手段在仿真过程中执行。
第/秦他ru届岂金
•••••••••「:
•••
1.7.3其他解决控制领域问题的工具箱想7
1.系统辨识工具箱(SystemIdentificationToolbox)
系统辨识工具箱基于预先测试得到的输入、输出数据来建立动态系统的线性模型,可以使用时域或频域技术对单通道数据或多通道数据进行模型辨识。
利用该工具箱可以对一些不容易用数学方法描述的复杂动态系统建立数学模型,例如发动机系统、飞行动力学系统及机电系统等。
第洋勿q虫荷介ZZ2
••••••••••••jjj
2.模糊逻辑工具箱(FuzzyLogicToolbox)
模糊逻辑工具箱利用基于模糊逻辑的系统设计工具扩展了MATLAB的科学计算。
通过图形用户界面,可以完成模糊推理系统设计的全过程。
该工具箱中的函数提供了多种通用的模糊逻辑设计方法,可以利用简单的模糊规则对复杂的系统行为进行建模,然后将这些规则应用于模糊推理系统。
3.鲁棒控制工具箱(RobustControlToolbox)
鲁棒控制工具箱提供了分析和设计具有不确定性的多变量反馈控制系统的工具与函数。
应川该工具箱,可以建立包含不确定性参数和不确定性动力学的线性定常(LinearTimeInvariant,LTI)系统模型,分析系统的稳定裕度及最坏性能,确定系统的频率响应,设计针对不确定性的控制器。
该工具箱还捉供了许多先进的鲁棒控制理论分析与综合的方法,例如仏控制、也控制、线性矩阵不等式(LinearMatrixInequalities,LMI)以及"综合鲁棒控制等。
第/秦勿¥7厶矽荷命
••••••••••••
4.模型预估控制工具箱(ModelPredictiveControlToolbox)
模型预估控制工具箱用于设计、分析和仿真基于MATLAB建立的或由Simulink线性化所得到的对象模型的模型预佔控制器。
该工具箱提供了所有与模型预估控制系统设计相关的主要特性。
1.8安装和内容选择
在安装过程中,需要选择MATLAB组件。
由于MATLAB软件光盘包含很多工具包,它们有些是通用的,有些则专业性很强。
对一般用户来说,这些组件不必全部安装(即默认安装),而应根据需要有所选择,否则安装的组件将占据很多硬盘空间。
表1・1描述了MATLAB各组件的功用,供读者选择时参考。
第游他心心介表1・1MATLAB各组件的功用
分类
组件名称
功用
必須选样的本原住组件
MATLAB
MATLAB心的部分。
没冇它,就没有MATLAB环境。
有了它•就可以对除符号类数据以外的各类数据进行操作、运算和可视化
最常选的通用性工具包纽件
SymbolicMathToolbox
符号类数据的操作和计算
庆他通用性工具包组件
Simulink
不用编写程序.利用系统框图实现建模和仿真,主要研究用确定型数学模槪(如微分方程、传递函数、结构图及羞分方程务)描述的动态系统
OptimizationToolbox
包含求函数零点、极值、动态规划等优化程序
MATLABCompiler
将MATLAB&9M文件编泽成DLL文件或EXE独立应用程字
MATLABC/C++MathLibrary
与MATLABCompiler配合使用
MATLABC/C++GraphicLibrary
与MATLABCompiler配合便用