matlab在控制中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《控制工程基础(经典控制部分)》
的MATLAB 分析
机电工程系
郭天石李建明
四川轻化工学院
二零零二年九月
前言
在学习《工程控制基础》及其它相关的控制理论课程时,许多计算问题越来越离不开计算机辅助分析及计算机辅助设计。在计算机性能迅速提高和各种软件大量涌现的今天,机辅分析与机辅设计也越来越方便。我们希望,在进行机辅分析及机辅设计时,把主要精力放在对计算机计算处理后的数据、曲线的控制特性分析上,而不在编程及调试程序上花费太多的时间,使计算机真正成为学习相关课程和解决实际问题的工具。因此,我们编写这本在MA TLAB语言支持下进行控制方面的机辅分析及机辅设计的讲义,力图从实用的角度,介绍MA TLAB语言在经典控制方面的一些典型应用。
第一章MATLAB的基本使用
§1-1MATLAB语言简介
MA TLAB是一种高级矩阵语言,它由Math Works公司于1984年正式推出,它的基本处理对象是矩阵,即使是一个标量纯数,MA TLAB也认为它是只有一个元素的矩阵。随着MA TLAB的发展,特别是它所包含的大量工具箱(应用程序集)的集结,使MA TLAB已经成为带有独特数据结构、输入输出、流程控制语句和函数、并且面向对象的高级语言。
MA TLAB语言被称为一种“演算纸式的科学计算语言”,它在数值计算、符号运算、数据处理、自动控制、信号处理、神经网络、优化计算、模糊逻辑、系统辨识、小波分析、图象处理、统计分析、甚至于金融财会等广大领域有着十分广泛的用途。
MA TLAB语言在工程计算与分析方面具有无可比拟的优异性能。它集计算、数据可视化和程序设计于一体,并能将问题和解决方案以使用者所熟悉的数学符号或图形表示出来。
MA TLAB语言和C语言的关系与C语言和汇编语言的关系类似。例如当我们需要求一个矩阵的特征值时,在MA TLAB下只需由几个字符组成的一条指令即可得出结果,而不必去考虑用什么算法以及如何实现这些算法等低级问题,也不必深入了解相应算法的具体内容。就象在C语言下不必象汇编语言中去探究乘法是怎样实现的,而只需要采用乘积的结果就可以了。
MA TLAB语言还有一个巨大的优点是其高度的可靠性。例如对于一个病态矩阵的处理,MA TLAB不会得出错误的结果,而用C或其它高级语言编写出来的程序可能会得出错误的结果。这是因为MA TLAB函数集及其工具箱都是由一些在该领域卓有研究成果,造诣很深的权威学者经过反复比较所得出来的最优方法,而且经过多年的实践检验被证明是正确可靠的。
§1-2MATLAB的工作窗口
下面以MA TLAB6.1为例介绍。
从实用的角度MA TLAB的工作窗口包括命令窗口、M文件编辑器窗口、图形编辑窗口、数学函数庫、应用程序接口及在线窗口。下面首先介绍MA TLAB的命令窗口及M文件编辑器。
一、命令窗口
启动MA TLAB之后,屏幕上自动出现命令窗口MA TLAB,它是MA TLAB提供给用户的操作界面,用户可以在命令窗口内提示符“>>”之后(有的MA TLAB版本命令窗口没有提示符)键入MA TLAB命令,回车即获得该命令的答案。
命令窗口内有File、Edit、View、Web、Window、Help等菜单条。
二、M文件编辑窗口
M文件是MA TLAB语言所特有的文件。用户可以在M文件编辑窗口内,编写一段程序,调试,运行并存盘,所保存的用户程序即是用户自己的M文件。MA TLAB工具箱中大量的应用程序也是以M文件的形式出现的,这些M文件可以打开来阅读,甚至修改,但应注意,不可改动工具箱中的M文件!
1.进入M文件窗口有两种方法
1)命令窗口— File—New —M-File;
2)命令窗口—点击“File”字样下面的图标。
M文件编辑窗口的标记是“Untitled”(无标题的)。当用户编写的程序要存盘时,Untitled作为默认文件名提供给用户,自然,用户可以,也应当自己命名。若用户不自己命名,则MA TLAB 会对Untitled进行编号。
2.M文件的执行:
返回命令窗口,在当前目录(Current Directory)内选择所要运行的M文件的目录,在命令窗口提示符“>>”后,直接键入文件名(不加后缀)即可运行。
注意:(1)机器默认路径为一级子目录MA TLAB6 p1\work;
(2)MA TLAB 6.1以前的版本,运行M文件的方法稍有不同,它必须在File菜单下,打开“Run Script…”子菜单,键入需要运行的文件路径及名称再回车,在这种情况下,work 作为根目录对待,不出现在M文件的路径之中。本讲义的参考程序都是在M文件窗口下编制的。
三、在线帮助窗口
在命令窗口中键入Help(空格) 函数名,可以立即获得该函数的使用方法。
§1-3 MATLAB最基本的矩阵操作
作为命令窗口及M文件编辑器的应用实例,介绍几个最基本的矩阵运算命令。
一、矩阵的输入
在方括号内依次按行键入矩阵元素,在一行内的各元素之间用空格或逗号分开,每行之间用分号分开。
例如,在命令窗内输入
A=[2 2 3;4 5 4;7 8 9]↙ (注意:方括号,分号为矩阵行标记)
B=[1,3,5;6,-4,2;3,5,1]↙ (逗号与空格功能相同)
A=2 2 3 B= 1 3 5
4 5 4 6 -4 2
7 8 9 3 5 1
同理:输入A1=[246]得到行矢量,
输入A2=[2;4;6]得到列矢量,
于是,当输入
C=[A;A1]↙有
C= 1 2 3
4 5 6
7 8 9
2 4 6
A1作为矩阵C的最后一行,C和A相比,增加了一行。
二、矩阵的转置
矩阵A的转置用A′表示,显然,A1与A2互为转置,即A1'会得到以2,4,6为元素的列矢量。
思考一下输入C1=[A A2 ]↙
C2=[A A1']↙
有什么结果?而输入[A;A1']有无意义?
三、矩阵的四则运算
1.矩阵的加减法:
当两个矩阵维数相同时可以直接进行“+”或“-”运算。
如D1=A+B,D2=A-B
2.矩阵的乘法:
当矩阵A,B维数相容时
C3=A﹡B:普通意义下的矩阵相乘
C4=A .﹡B:矩阵A与B的对应元素相乘
显然,A﹡B≠B﹡A(一般情况),而A .﹡B=B .﹡A。A .﹡B称为数列型乘法,它要求参加运算的矩阵或数列具有相同的行列数,这是MA TLAB语言中的一种特殊运算,它在今后求取函数