现代理论控制 6_第1页
现代理论控制 6_第2页
现代理论控制 6_第3页
现代理论控制 6_第4页
现代理论控制 6_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第八章Matlab在《现代控制理论基础》中的应用

Matlab是美国MathWorks公司20世纪80年代中期推出的数学软件。在该公司的不断完善下,该软件至今已经发展成为适合多种学科,多工作平台的功能强大的大型软件。

在控制理论及系统领域中,可通过MatlabControlSystemToolbox(控制系统工具箱)中的“函数命令”,或Simulink软件包,对系统进行仿真、分析和设计。本章结合教材的最主要内容,介绍该软件的具体应用。2

MATLAB启动及操作界面MATLAB的启动方法有好几种。最常用的启动方法有两种。方法一:在桌面,一般会安装有一个快捷方式图标。双击该图标,就可以打开MATLAB的操作桌面。方法二:MATLAB的安装文件夹下也有一个快捷方式图标,双击该图标,也可以打开MATLAB的操作桌面。操作桌面如图所示。

4

一、数学模型的相互转换1.传递函数转换成状态空间方程

设系统传递函数用以下函数命令

,调用格式为其中,num、den分别是传递函数分子、分母的系数值。

可由传递函数的多项式型式,转换成其状态空间模型A,B,C,D矩阵中的值。例8-1已知系统传递函数,用Matlab转换成状态空间方程。在命令窗口,输入>>num=[2,6];>>Den=[1,4,5,2];>>按回车后,屏幕显示即状态空间方程为注意:(1)状态空间模型是不唯一的,Matlab仅给出了其中的一种。

(2)若传递函数为零、极点型式函数命令为其调用格式是或z、p,k分别是传递函数零、极点和放大系数值。还可以用其它的函数命令,例如,ss,调用格式为其中sys,可以是有理分式或零、极点形式。

2.状态空间方程转换成传递函数

用函数命令,调用格式是实现状态空间方程转换成传递函数。也可用tf()函数命令,调用格式是例8-2己知系统状态方程,用Matlab转换成传递函数。在命令窗口,输入>>A=[010;001;-4-8-5];>>B=[001];>>C=[150];>>D=[0];运行结果,屏幕显示Nnm=00.00005.00001.0000Den=1.00005.00008.00004.0000>>[num,den]=ss2tf(A,B,C,D)即系统的传递函数3.线性变换用函数命令,可实现状态空间模型的线性变换。调用语句或其中,分别为变换前、后的系统状态空间方程,是给定的非奇异变换矩阵。例8-3己知系统状态空间方程给定的非奇异变换矩阵求系统线性变换后的状态空间方程式。在命令窗口,输入>>A=[010;001;-6-11-6];>>B=[0;0;6];>>C=[1;0;0];>>D=[0];>>T=inv(111;-1-2-3;149);>>即状态空间方程为

(1)矩阵特征值计算Matlab提供直接计算矩阵特征值的命令函数,调入格式为是矩阵A的所有特征值构成的向量。显示结果A1=-1.0000-0.0000-0.00000.0000-2.00000.0000-0.0000-0.0000-3.0000B1=3.0000-6.00003.0000C1=1.00001.00001.0000D1=0.0000例8-4应用Matlab求出下面矩阵A的特征值在命令窗口,输入>>A=[2-1-1;0-10;021];>>运行结果,屏幕显示d=21-1因此,3个特征值分别为2、1和-1。(2)矩阵特征向量Matlab提供直接计算矩阵特征向量的命令函数,调入格式为

是由A的所有特征值构成的对角线矩阵,

是由A的所有特征向量组成的矩阵例8-5应用Matlab求下面矩阵的特征值与特征向量在命令窗口,输入>>A=[010;001;-6-11-6];>>运行结果,屏幕显示

-0.57740.2182-0.10480.5774-0.43640.3145-0.57740.8729-0.9435

=

-1.0000000-2.0000000-3.0000

由此可知,特征向量特征值二、线性系统的状态空间响应分析1.线性定常连续系统Matlab提供了好几种不同输入下的线性定常系统响应的函数命令,其中,直接计算线性连续系统求单位阶跃响应的命令函数的调用格式

时间向量t,须由用户设定。例8-5应用Matlab求下面系统0~6秒区间的单位阶跃响应,并绘制系统输出响应。在命令窗口编写下列程序>>A=[0,1;-2,-3];B=[0;1];C=[1,1];D=[0];>>SYS=ss(A,B,C,D);>>t=[0;0.02:6];>>[y,t,x]=step(a,b,c,d,t);>>plot(t,y)(1)矩阵指数的计算Matlab提供有矩阵指数的函数,调用格式为式中,A为矩阵指数的矩阵。例7-6

应用Matlab求下面矩阵A的矩阵指数在t=1s的值:在命令窗口编写下列程序>>A=[0,1;-2,-3];>>eAt=expm(A*t)输出显示如下eAt=0.60040.2325-0.4651-0.0972(2)零输入响应

Matlab提供了求系统的零输入响应,命令函数为initial()。调用格式为[y,t,x]=initial(sys,x0,t)式中,sys为系统的状态空间模型(A,B,C,D)。X0为给定的初始状态。t为指定的计算时间区间,有如下三种格式计算步长:1)表示计算时间为,计算步长为。

2)

表示计算时间为,计算步长为默认值1。3)表示计算时间为,计算步长自动选择。

例8-7

应用Matlab计算并绘制下面系统初始状态为x0的状态零输入响应。时间区间为[0,5s]。在命令窗口编写下列程序>>A=[0,1;-2,-3];>>B=[0;0];>>X0=[1;2];>>sys=ss(A,B,C,D);>>[y,t,x]=initial(sys,x0,0,0.02;5);>>plot((t,x)回车后的响应曲线2.线性定常离散系统Matlab提供直接计算线性定常离散系统的单位阶跃响应,调用格式为三、线性系统的能控性与能观性Matlab为分析系统的能控性、能观测性提供有专用函数。1.Ctrb(A,B)函数Matlab中,通过该函数求出系统能控性矩阵M,并用rank(M)求出M的秩,从而判定系统的状态能控性,调用格式为其中,A、B为系统的系数矩阵,

为能控性矩阵。2.0bsv(A,C)函数Matlab中,通过该函数求出系统能观性矩阵N,并用rank(N)求出N的秩,从而判定系统的状态能观性,调用格式为,其中A、C为系统的系数矩阵,Vc为能观性矩阵。例8-7应用Matlab判别下面系统能控性、能观性在命令窗口,编写下列程序>>A=[1,3,2;0,4,2;0,0,1];>>B=[01;00;10];>>C=[100;001];>>Uc=ctrb(A,B);>>Vo=obsv(A,C);>>nc=rank(UC)>>no=rank(VC)运行后显示如下nc=

.3Vo=3表明能控矩阵和能观矩阵的”“秩”均为3,系统是能控、能观的。

Matlab为分析系统的稳定性提供有多个专用函数,例如,poly、roots和eig,通过调用它们,可得出线性定常系统的相关值,然后判别该系统的稳定性。四、控制系统的稳定性分析

1.利用A矩阵特征值利用eig(A)函数求取特征值,依特征值符号判定。例7-8应用Matlab求下面系统(平衡状态下)稳定性在命令窗口编写下列程序>>A=[0,1;-1-1];>>eig(A);

运行后

显示如下ans=-0.5000+0.8660j-0.5000-0.8660j,所以系统在平衡状态x=0是渐近稳定的。两个特征根分别为2.求解李雅普诺夫代数方程用于求解线性定常连续系统的李亚普诺夫方程注意:要先给Q矩阵赋值(常用单位矩阵)。得出P矩阵,依P矩阵的正定性,判定系统的稳定性。例8-9应用Matlab判别下面系统稳定性>>A=[0,1;-1-1];>>.;>>Q=[10;01];>>P=lyap(A,Q)

在命令窗口编写下列程序运行结果显示

P=

1.50000.50000.50001.0000P是正定的。系统在原点处是渐近稳定的函数命令dlyap(G,Q),则用于求解线性定常离散系统的李亚普诺夫方程。五、线性定常系统的综合1.系统极点配置的设计Matlab为单输入单输出线性定常连续系统的状态反馈极点配置,提供有acker()专用函数,调用格式为

式中,A,b分别为系统的参数矩阵,p为所给定的一组期望极点,表示为行向量形式,k为状态反馈阵。例8-10己知被控对象应用Matlab求使系统的期望极点的状态反馈。在命令窗口,编写下列程序>>A=[0,0,0;1,-6,0;0,1,-12];>>B=[1;0;0];>>P=[-2,-1+j,-1-j];>>k=acker(A,B,P)

运行后

显示如下K=-14186-1220

2.状态观测器的设计用Matlab设计时,利用“对偶原理”可使状态观测器的设计大为简化,方法如下:.(1)构造对偶系统(2)对对偶系统按极点配置求状态反馈阵k

(3)原系统状态观测器的反馈阵L,为其对偶系统的状态反馈阵K的转置3.带状态观测器系统极点配置的设计

根据“分离原理”,系统的状态反馈阵K和观测器反馈阵L可分别由命令函数acker()求得。

六、线性系统的最优控制

最优控制中,二次型是目前工程上应用最广泛的控制方法之一,其中的最优状态调节器和最优输出调节器的设计,Matlab分别提供了命令函数。1.最优状态调节

Matlab为线性定常连续系统最优状态调节器(无限时间状态调节器)提供了lqr()函数,调用格式为其中,A、B分别是系统矩阵和输入矩阵;Q和R分别是二次型性能指标函数中相应的加权矩阵;

温馨提示

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

评论

0/150

提交评论