| | 首页 | 文章中心 | 下载中心 | 本站特供 | 软硬件结合论坛 | | |
![]() | |
| 您现在的位置: 中国软硬件结合技术网 >> 文章中心 >> 硬件技术 >> 控制技术 >> 正文 |
|
|||||
| MATLAB与控制系统 | |||||
| 作者:楼顺天 郭宏福 文章来源:未知 点击数: 更新时间:2008-3-6 | |||||
| MATLAB是MathWorks公司提供的高性能软件平台,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便将以数值或图形方式显示出来。 基于Windows的MATLAB问世以来,受到了广大科技工作者的广泛关注和喜爱,并为大家所接纳。经过十几年的完善和扩充,MATLAB已发展成为线性代数课程的标准工具,也成为其他许多领域的实用工具。在工业环境中,MATLAB可用来解决实际的工程和数学问题。其典型应用有:通用的数值计算,算法设计,各学科专门问题的求解等,这些学科包括信号处理、控制系统、统计信号分析、神经网络应用、模糊系统设计、小波分析等。 MATLAB还包括了被称作为工具箱(Toolbox)的各类应用问题的求解工具。工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它们为求解各个特定学科的问题提供了方便。 MATLAB最重要的特点是易于扩展,除了系统提供的诸多工具箱函数外,它允许用户自行建立完成指定功能的M文件,从而构成适合于用户的专用函数,因此大大扩展了MATLAB的应用范围。 MATLAB语言易学易用,不要求用户有高深的数学和程序语言知识,不需要用户深刻了解算法及编程技巧。这种语言与C、FORTRAN等语言一样,有其内定的规则,但MATLAB的规则更接近于数学表示。因此其使用更为简便,避免了其他语言如C、FORTRAN中的许多限制,如变量、矩阵无需定义等。而且MATLAB的语句功能更强,一条语句可完成较为复杂的任务,如“fft”语句可完成对指定数据的快速傅里叶变换,这相当于几十条甚至几百条C语言语句的功能。MATLAB还提供了良好的用户界面,许多函数本身会自动绘制出图形,而且会自动选取坐标刻度。有了这些使用方便、功能强大、界面友好的函数,可使用户大大节约设计时间,提高设计质量。 MATLAB的控制系统 工具箱函数 控制系统分析与设计是MATLAB成功应用的领域之一。在控制系统分析与设计中,经常会涉及到矩阵运算,以前常采用FORTRAN作为编程语言,但用FORTRAN编程很繁琐。而MATLAB正好是以矩阵运算为基础的,因此,MATLAB一经推出就受到了控制界专家学者的重视,并最早开发出控制系统工具箱函数。这些函数为求解控制系统分析与设计问题提供了便利的工具。 MATLAB提供的控制系统工具箱函数分为十类:模型建立、模型变换、模型简化、模型实现、模型特性、方程求解、时域响应、频域响应、根轨迹和估计器/调节器设计。这足见MATLAB给用户分析与设计控制系统所带来的强大设计工具。 控制系统可分成多个子系统,每个子系统可采用传递函数、零极点增益、状态方程三种表示形式。MATLAB提供的模型变换函数可方便地实现这三种表示形式之间的转换,而且利用模型建立函数可实现子系统的串联、并联、反馈、闭环等连接方式,从而得到复杂的控制系统。最后利用模型简化和实现函数,可得到简化后的期望模型。 对于一个复杂的控制系统,首先关心的是可控性和可观性问题,利用模型特性函数“ctrb”和“obsv”可直接求得系统的可控性和可观性矩阵,据此可判定系统的可控性和可观性。 对线性系统,一般可设计线性二次型调节器和估计器。MATLAB提供的十多种求解连续和离散控制系统的设计函数,完全可以满足大部分的设计要求。为利用线性二次型设计系统的调节器和估计器,需要求解代数里卡蒂(Riccati)方程和李雅普诺夫(Lyapunov)方程,这可由“are”和“lyap”等函数直接求得,使技术人员从繁重的计算任务中解脱出来,从而使控制系统的设计变得轻松自然。 在对控制系统进行分析时,人们经常需要求出控制系统的时域响应、频域响应和根轨迹等。MATLAB提供了直接求取单位阶跃响应、单位冲激响应、零输入响应和任意输入响应等时域响应曲线函数;提供了直接求取波德(Bode)图、尼奎斯特(Nyquist)图和尼柯尔斯(Nichols)图等频域响应曲线函数;同时还提供了直接绘制系统根轨迹的“rlocus”、 零极点图的“pzmap”等函数,这对控制系统的分析是很有帮助的。所有这些分析的结果都以曲线图形式给出,因此具有分析结果的直观性。 MATLAB提供的控制系统工具箱函数还在不断地扩展,其功能也在不断增强,每次MATLAB版本的升级都会对工具箱函数进行增补和增强,使控制系统的分析与设计更加方便。 控制系统设计示例 这里仅以控制系统分析中的两个简单示例,来说明MATLAB给人们带来的好处。 求典型二阶环节的时域响应曲线 典型二阶系统用传递函数表示为:H(s)=ωn2/(s2+2ξωns+ωn2),其中ωn为自然频率,ξ为相对阻尼系数(程序中分别用Wn和kx表示)。 在自动控制理论课中,都以较大的篇幅来讨论典型二阶环节的时域特性,这是因为它不仅简单,容易获得其时域特性,而且许多实际的工业对象都可以近似看作是二阶环节及其连接形式。因此二阶系统在控制中有着重要的地位。但利用通常的FORTRAN语言和C语言,求得系统的时域特性曲线并非易事,需要花不少的时间来编写和调试程序。有了MATLAB这样的高级软件平台后,就可很方便地求出系统的单位阶跃响应、单位冲激响应、零输入响应和任意输入(方波输入)时的响应曲线。 求开环系统的频域响应曲线 开环系统的传递函数为:H(s)=50/(s+5)(s-2)。要求:绘制出系统的波德图、尼奎斯特曲线,判别闭环系统的稳定性,并求出闭环系统的单位冲激响应。 频域特性曲线是控制系统的经典分析方法,通过它可深入了解系统的频率特性。对控制系统而言,系统的稳定性是最重要的特性之一,因此,经常需要分析闭环系统的稳定性。但实际上往往只能得到或测量到开环系统的传递函数或频域特性,由此可根据尼奎斯特判据判定系统的稳定性[1]。然而绘制系统的频域特性是一个复杂的任务,幸好MATLAB提供了直接绘制系统频域特性的函数,从而使之变得轻而易举。 MATLAB给控制系统分析与设计提供的许多工具函数,这些功能强大的函数使控制领域的专家、学者从繁琐的编程、计算中解脱出来,从而极大地方便了控制系统的分析与设计。另外,越来越多的人将MATLAB作为编程软件,这必将进一步扩展MATLAB的控制系统工具箱函数,使控制系统的分析与设计更加简便。可以相信,一旦你使用了MATLAB,就会毫不犹豫地选它作为你的编程平台。 (本文作者楼顺天为西安电子科技大学电子工程学院副教授,郭宏福为讲师。) [1]楼顺天等.基于MATLAB的系统分析与设 计——控制系统.西安:西安电子科技大 学出版社,1998 求解开环系统频域特性曲线的MATLAB程序 k=50; z=[]; p=[-5 2]; %系统的零极点增益表示 [num,den]=zp2tf(z,p,k); %系统的传递函数表示 figure(2) subplot(2,2,1) w=logspace(-1,2,500);[m,p]=bode(num,den,w); %求Bode图 plot(w,20*log10(m)),grid on title('Bode Plot -- Magnitude response') subplot(2,2,3),plot(w,p),grid on title('Bode Plot -- Phase response') subplot(2,2,2),nyquist(num,den)%求Nyquist曲线 title('Nyquist Plot'),xlabel('') subplot(2,2,4),[num1,den1]=cloop(num,den); %求闭环系统传递函数 impulse(num1,den1),grid on %闭环系统单位冲激响应 title('Impulse response'),xlabel(''); 求解典型二阶系统时域响应曲线的MATLAB程序 Wn=6; kx=0.7; %系统参数 num=Wn.^2; den=[1 2*kx*Wn Wn.^2]; %系统表示 [A,B,C,D]=tf2ss(num,den); %模型转换 figure(1) subplot(2,2,1),step(num,den) %单位阶跃响应 title('Step response'),xlabel(''); subplot(2,2,2),impulse(num,den) %单位冲激响应 title('Impulse response'),xlabel(''); subplot(2,2,3),initial(A,B,C,D,[ 1;0.2]) %零输入响应 title('Zero-input response'),xlabel(''); subplot(2,2,4),T=[0:0.01:6-0.01]; L=length(T); U=[ones(1,L/3),-ones(1,L/3),ones(1,L/3)]; lsim(num,den,U,T), grid on %方波输入响应 title('Input response'),xlabel(''); |
|||||
| 文章录入:Polylove 责任编辑:Polylove | |||||
| 【发表评论】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | | |
![]() |
Copyright ©2004 - 2006 中国软硬件结合技术网 91tech.net 91tech.net.cn 91tech.org 91tech.org.cn 1y11.net 站长:Polylove |