MATLAB经典控制系统的分析和设计

上传人:无*** 文档编号:84647665 上传时间:2022-05-04 格式:DOC 页数:11 大小:113KB
收藏 版权申诉 举报 下载
MATLAB经典控制系统的分析和设计_第1页
第1页 / 共11页
MATLAB经典控制系统的分析和设计_第2页
第2页 / 共11页
MATLAB经典控制系统的分析和设计_第3页
第3页 / 共11页
资源描述:

《MATLAB经典控制系统的分析和设计》由会员分享,可在线阅读,更多相关《MATLAB经典控制系统的分析和设计(11页珍藏版)》请在装配图网上搜索。

1、百度文库-让每个人平等地提升自我931基本操作及命令1. 访问和退出MATLAB在大多数系统中,一旦安装了 MATLAB,在调用时,应执行命令 MATLAB。退出MATLAB应执行命令exit或quit。2. 如何应用 MATLAB通常以命令驱动方式应用MATLAB。当输入单个命令时,MATLAB会立即对其进行处理,并且显示处理结果。MATLAB 也能够执行存储在文件中的命令序列。通过键盘输入的命令,应用向上箭头键可以被存取。通过输入某个最新命令和调用特定的命令行,可以使屏幕内容向上 滚动。3. MATLAB的变量MATLAB的一个特点是变量在应用之前不必是维数确定的。在 MATLAB中,变量

2、一旦被采用,会自动产生(如果必要, 变量的维数以后还可以改变)。在命令 exit或quit输入之前,这些变量将保留在存储器中。为了得到工作空间内的变量清单,可以通过键盘输入命令who,当前存放在工作空间内的所有变量便会显示在屏幕上。命令clear能从工作空间中清除所有非永久性变量。如果只需要从工作空间中清除某个特定变量,比如“x”则应输入命令 clear x。4. 以“开始的程序行在本书中,许多MATLAB程序在编写时附有注解和说明,这些注解和说明阐明了发生在程序中的具体进程。在MATLAB中以“开始的程序行,表示注解和说明。符号“类似于BASIC中“REM。以“开始的行,用来存储程序的注解或

3、说明,这些注解和说明是不执行的。这就是说,在MATLAB程序行中,出现在“以后的一切内容都是可以忽略的。如果注解或说明需要一行以上程序行,则每一行均需以“为起始。5. 应用分号操作符分号用来取消打印。如果语句的最后一个符号是分号,则打印被取消,但是命令仍在执行,而结果不再显示。这是一个有益的特性,因为打印中间结果可能不必要。此外,在输入矩阵时,除非最后一行,分号用来指示一行的结束。6. 应用冒号操作符冒号操作符在MATLAB中起着重要作用。该操作符用来建立向量,赋予矩阵下标和规定叠代。例如,j:k表示j j+1,A(:,j)表示矩阵A的第j列,A(i,:)表示矩阵A的第i行。7. 输入超过一行

4、的长语句一个语句通常以回车键或输入键终结。如果输入的语句太长,超出了一行,则回车键后面应跟随由3个或3个以上圆点组成的省略号(),以表明语句将延续到下一行。下面是一个例子:x = 1.234+2.345 +3.456+4.567+5.678+6.789 +7.890+8.901-9.012符号=、+和-前后的空白间隔可以任选。这种间隔通常可以起到改善语句清晰度的效果。8. 在一行内输入数个语句如果在一行内可以把数个语句用逗号或分号隔开,则可以把这数个语句放在一行内。例如plot(x,y, o ), text(1,20, System 1 ), text(1,15, System 2)和plot

5、(x,y, ; ofeMt(1,20, System;text(1,15, System )9. 选择输出格式MATLAB中的所有计算都是以双精度方式完成的,但是显示输出可以是具有4个小数位的定点输出。例如,对于向量x = 1/3 0.00002MATLAB有下列输出:x=0.3333 0.0000如果在矩阵中至少有一个元素不是严格的整数,则有4种可能的输出格式。显示的输出量可以利用下列命令加以控制:format shortformat longformat short eformat long e一旦调用了某种格式,则这种被选用的格式将保持,直到对格式进行了改变为止。在控制系统分析中,for

6、mat short和format long是经常采用的格式。一旦调用了 MATLAB,即使没有输入格式命令,MATLAB也将以format short格式显示数值结果。如果矩阵或向量的所有元素都是严格的整数,则format short和formatlong的结果是相同的。10. 退出MATLAB时如何保存变量当键入“exi或“quit时,MATLAB中的所有变量将消失。如果在退出以前输入命令save,则所有的变量被保存在磁盘文件matlab.mat中。当再次进入MATLAB时,命令load将使工作空间恢复到以前的状态。932 MATLAB 函数在当前的MATLAB5.0及以上版本中,MATLA

7、B函数的调用格式和其它编程语言是不同的,其典型的调用格式为返回变量列表=func_name(输入变量列表)其中等号左边的变量为返回变量,等号右边的变量为输入变量。MATLAB允许在函数调用时同时返回多个变量。而一个函数又可以由多种格式进行调用,例如 bode()函数可以由下面的格式调用mag, phase = bode(num, den, w)其中bode()函数用来求取或绘制系统的 Bode图,而系统在这里由传递函数分子 num和分母den表示,还可以用下面 的格式调用此函数mag, phase = bode(A , B,C, D,w)其中(A,B,C,D)为系统的状态方程模型。尽管两种调用

8、格式是完全不同的,MATLAB函数还是会自动识别到底是用哪种格式调用该函数的,从而得出正确的结论。在当前版本的控制系统工具箱中还允许用线性模型对象变量G来描述系统,例如mag, phase = bode(G, w)MATLAB函数在返回变量的格式上可以不同,例如若上面的语句中若没有返回变量,则将自动地绘制系统的Bode图,否则将返回计算结果数据。933绘制响应曲线MATLAB具有丰富的获取图形输出的程序集。命令plot可以产生线性x-y图形(用命令loglog、semilogx、semilogy或polar取代plot,可以产生对数坐标图和极坐标图)。所有这些命令的应用方式都是相同的,它们只对

9、如何对坐标轴进行 分度和如何显示数据产生影响。1. x-y 图如果x和y是同一长度的向量,则命令plot(x, y)将画出y值对于x值的关系图。2. 画多条曲线为了在一幅图上画出多条曲线,采用具有多个自变量的plot命令:plot(X1, Y1, X2, Y2,Xn, Yn)变量X1, Y1, X2, Y2等等是一些向量对。每一个 x-y对都可以图解表示出来,因而在一幅图上形成多条曲线。多重变量 的优点是它允许不同长度的向量在同一幅图上显示出来。每一对向量采用不同的线型。在一幅图上画一条以上的曲线时,也可以利用命令hold。hold命令可以保持当前的图形,并且防止删除和修改比例尺。因此,随后的

10、一条曲线将会重叠地画在原曲线图上。再次输入命令hold,会使当前的图形复原。3. 加进网格线、图形标题、x轴标记和y轴标记一旦在屏幕上显示出图形,就可以画出网格线,定出图形标题,并且标定x轴标记和y轴标记。MATLAB中关于网格线、 标题、x轴标记和y轴标记的命令如下:grid(网格线)title(图形标题)xlabel(x轴标记)ylabel(y轴标记)应当指出,一旦恢复命令display,通过依次输入相应的命令,就可以将网格线、图形标题、x轴标记和y轴标记叠加在图形上。4. 在图形屏幕上书写文本为了在图形屏幕的点(x,y)上书写文本,采用命令:text(X, Y, text )例如,利用语

11、句text(3, 0.45, sin t )将从点(3, 0.45)开始,水平地写出sin t。另外,下列语句:plot(x1, y1, x2, y2), text(x1, y1, 1 ), text(x2, y2, 2)标记出两条曲线,使它们很容易地区分开来。5. 图形类型下列语句:plot(X, Y, x)将利用标记符号x画出一个点状图,而语句:plot(X1, Y1, : , X2, Y2, +)将用虚线画出第一曲线,用加法符号(+)画出第二条曲线。MATLAB能够提供的线和点的类型如下:线的类型点的类型实线-圆点短划线-加号+虚线星号*点划线-.圆圈oX号X6. 颜色下列语句plot(

12、X, Y, r)plot(X, Y, +g)表明,第一幅图采用红线,第二幅图采用绿色“+号标记。MATLAB提供的颜色如下:红色r绿色g蓝色b白色w无色i7. 自动绘图算法在MATLAB中,图形是自动定标的。在另一幅图形画出之前,这幅图形作为现行图将保持不变,但是在另一幅图形画 出后,原图形将被删除,坐标轴自动地重新定标。关于暂态响应曲线、根轨迹、伯德图、奈魁斯特图等的自动绘图算法 已经设计出来,它们对于各类系统具有广泛的适用性,但是并非总是理想的。因此,在某些情况下,可能需要放弃绘图 命令中的自动坐标轴定标特性,改用手工选择绘图范围。8. 手工坐标轴定标如果需要在下列语句指定的范围内绘制曲线

13、:v = x-min x-max y-min y-max则应输入命令axis(v),式中v是一个四元向量。axis(v)把坐标轴定标建立在规定的范围内。对于对数坐标图,v的元素应为最小值和最大值的常用对数。执行axis(v)会把当前的坐标轴定标保持到后面的图中,再次键入axis恢复自动定标。axis( squar把图形的范围设定在方形范围内。对于方形长宽比,斜率为 1的直线恰位于45o上,它不会因屏幕的不规 则形状而变形。axis( norma将使长宽比恢复到正常状态。934 MATLAB语言的联机帮助功能本书中将广泛应用MATLAB语言和其控制系统工具箱作为辅助工具,并将介绍相关函数的使用。

14、但是以当前的篇幅想 全面介绍MATLAB和控制系统工具箱是不可能的,不妨使用MATLAB的联机帮助功能。MATLAB的联机帮助既可以由help命令来直接获得,又可以由 MATLAB图形界面下的Help菜单来查询。例如,可以 由help lyap命令得出lyap()函数的联机帮助信息如下:help lyapLYAP Lyapunov equation.X = LYAP(A,C) solves the special form of the Lyapunov matrix equation:A*X + X*A二CX = LYAP(A,B,C) solves the general form of

15、the Lyapunov matrix equation:A*X + X*B = -CSee also DLYAP.可见,由这种方法得出的帮助信息包括该函数的解释,函数的调用格式和相关函数名等等,进一步的帮助内容可以查阅 MATLAB或相应工具箱手册。还可以用lookfor命令在MATLAB路径下查询有关的关键词,例如若想查询关键词Hanke,则可以由下面的命令完成:lookfor hankelHANKEL Hankel matrix.BHRDEMO Demo of model reduction techniques (Hankel, Balanced, BST).HKSV Hankel s

16、ingular values and grammians P, Q.OHKAPP Optimal Hankel norm approximation (stable plant).OHKDEMO Demo of optimal Hankel model reduction technique.OHKLMR Optimal Hankel norm approximation (unstable plant).941控制系统模型1)传递函数模型:num (s)deft6严+%申刊+人+l+j在MATLAB中,直接用分子/分母的系数表示,即 num=b1,b2,bm+1;den=a1,a2,an+1

17、;而printsys命令则用于显示传递函数,例如:num=1 1;den=1 5 9printsys(num,den)执行后,其结果为:S + 1num/den= s2 +5s + 32) 零极点增益模型 肌)($ p/占 G在MATLAB中,用z, p,k矢量表示,即 z=b1,b2,bm;p=b1,b2,bm;k=k;3)状态空间模型x = ax -h buy= w; +和在MATLAB中,系统可用(a,b,c,d)矩阵组表示。说明:在本书中将不涉及状态方程。4)模型之间的转换同一个系统可用三种不同的模型表示,为分析系统的特性,有必要在三种模型之间进行转换。MATLAB的信号处理和控制系统

18、工具箱中,都提供了模型变换的函数:ss2tf, ss2zp, tf2ss, tf2zp, zp2ss, zp2tf,它们的作用可用图9-1来表示。图9-1三种模型之间的转换图9-1三种模型之间的转换5)系统建模对简单系统的建模可直接采用三种基本模型:传递函数、零极点增益、状态空间模型。但实际中经常遇到几个简单系统组合成一个复杂系统。常见形式有:并联、串联、闭环及反馈等连接。l并联:将两个系统按并联方式连接,在 MATLAB中可用parallel函数实现。l串联:将两个系统按串联方式连接,在 MATLAB中可用series函数实现。l闭环:将系统通过正负反馈连接成闭环系统,在MATLAB中可用c

19、loop函数实现。l反馈:将两个系统按反馈方式连接成闭环系统,在MATLAB中可用feedback函数实现。9.4.2时域分析控制系统最常用的时域分析方法是,当输入信号为单位阶跃和单位脉冲函数时,求出系统的输出响应,分别称为单位阶跃响应和单位脉冲响应。在 MATLAB中,提供了求取连续系统的单位阶跃响应函数step,单位脉冲响应函数impulse,零输入响应函数initial及任意输入下的仿真函数lsim。1) step命令功能:求阶跃响应格式:y,x=step(num,den,t)2) impluse 命令功能:求脉冲响应格式:y,x=impluse(num,den,t)3) lsim命令功

20、能:对任意输入的连续系统进行仿真格式:y,x=lsim(num,den,u,t)其中输入信号为矢量U。输入信号u的行数决定了计算的输出点数。对于单输入系统,U是一个列矢量。对于多输入系统,U的列数等于输入变量数。例如:计算斜坡响应,t为输入矢量。可以输入如下命令ramp=t; y=lsim(num,den,rmp,t)4) initial 命令功能:求连续系统的零输入响应格式:y,x,t=initial(a,b,c,d,xO)功能:y,x,t=initial(a,b,c,d,xO,t)initial函数可计算出连续时间线性系统由于初始状态所引起的响应(故而称零输入响应)。当不带输出变量引用函数

21、时, initial函数在当前图形窗口中直接绘制出系统的零输入响应。943根轨迹根轨迹法是分析和设计线性定常控制系统的图解方法,使用十分简便。特别是适用于多回路系统的研究,应用根轨迹比 其它方法更为方便。通常来说,要绘制出系统的根轨迹是很繁琐很难的事,因此在教科书中经常以简单系统的图示解法得到。但在现代计算 机技术和软件平台的支持下,绘制系统的根轨迹变得轻松自如了。在MATLAB中,专门提供了绘制根轨迹有关的函数:rlocus, rlocfind, pzmap 等。1) pzmap 命令功能:绘制线性连续系统的零极点图格式:p,z=pzmap(num,den)用x号表示极点,用o号表示零点2)

22、 rlocus 命令功能:绘制根轨迹格式:r,k=rlocus(num,den)r,k=rlocus(num,den,k)3) rlocfind 命令功能:找出给定的一组根对应的根轨迹增益格式:k,poles=rlocfind(num,den)k,poles=rlocfind(num,den,p)K为选点处的根轨迹增益;Pole为此点处的闭环特征根。4) sgrid 命令功能:在连续系统根轨迹图和零极点图中绘制出阻尼系数和自然频率栅格。格式:sgrid 或 sgrid(new)或 sgrid(Z,Wn)944频域分析频域分析法是应用频率特性研究控制系统的一种经典方法。采用这种方法可直观地表达出

23、系统的频率特性,分析方法比 较简单,物理概念比较明确,对于诸如防止结构谐振、抑制噪声、改善系统稳定性和暂态性能等问题,都可以从系统的 频率特性上明确地看出其物理实质和解决途径。频率分析法主要包括三种方法:bode图(幅频/相频特性曲线)、nyquist曲线、nichols图。1) bode命令功能:绘制波特图格式:mag,phase,w=bode(num,den)mag,phase,w=bode(num,den,w)2) nyquist 命令功能:绘制乃奎斯特图格式:re,im,w=nyquist(num,den)re,im,w=nyquist(num,den,w)3) nichols 命令功能:绘制尼科尔斯图格式:M,P=nichols(num,den)4) margin 命令功能:求幅值和相角裕量及幅值和相位交界频率格式:GM,PM,wcg,wcp=margin(M,P)11

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!