1、1. MATLAB7.6 环境三、实验内容1 、模型转换图 1、模型转换示意图及所用命令传递函数一般形式:MATLAB 表示为: G=tf(num,den), , 其中 num,den 分别是上式中分子, 分母系数矩阵。零极点形式:G=zpk(Z,P,K) ,其中 Z,P ,K 分别表示上式中的零点矩阵,极点矩阵和增益。传递函数向状态空间转换:A,B,C,D = TF2SS(NUM,DEN);状态空间转换向传递函数:NUM,DEN = SS2TF(A,B,C,D,iu)-iu 表示对系统的第 iu 个输入量求传递函数;对单输入 iu 为 1。例1:已知系统的传递函数为G(S)=,利用matla
2、b将传递函数和状态空间相互转换。解:1.传递函数转换为状态空间模型:NUM=1 2 4;DEN=1 11 6 11;A,B,C,D = tf2ss(NUM,DEN)2.状态空间模型转换为传递函数:A=-11 -6 -11;1 0 0;0 1 0;B=1;0;0;C=1 2 4;D=0;iu=1;NUM,DEN = ss2tf(A,B,C,D,iu);G=tf(NUM,DEN)2 、状态方程状态解和输出解单位阶跃输入作用下的状态响应:G=ss(A,B,C,D);y,t,x=step(G);plot(t,x).零输入响应y,t,x=initial(G,x0)其中,x0 为状态初值。例二:仍然使用一
3、中的状态空间模型,绘制单位阶跃输入作用下的状态响应和零输入响应,其中零输入响应的初始值x0=1 2 1。1.绘制单位阶跃输入作用下的状态响应: G=ss(A,B,C,D);plot(t,x)2.绘制零输入响应:x0=1 2 1;y,t,x=initial(G,x0);3 、系统能控性和能观性能控性判断:首先求能控性判别矩阵:co=ctrb(A ,B)。然后求 rank(co)并比较与 A 的行数 n 的大小,若小于 n 则不可控,等于为可控。也可以求 co 的行列式,不等于 0,系统可控,否则不可控。能观测性判断:首先求能观测性阵 ob=obsv(A ,C),或者 ob=ctrb(A ,C);
4、然后求 rank(ob)并比较与 A 的行数大小,若小于,为不可观测,等于则为可观测。也可以求 co 的行列式,不等于 0,系统能观,否则不能观例三:判断下列系统的能控能观性:A=-5 1 0;0 -5 0;0 0 -3;B=1 0;0 0;1 0;C=1 0 1;-1 1 0;co=ctrb(A ,B); rank(co)因为23(A的行数),所以不能控ob=obsv(A ,C);rank(ob)是满秩的显然,该系统是能观测的。综上,该系统能观不能控。4 、线性变换一个系统可以选用不同的状态变量,所以状态方程是不唯一的。但是这些方程之间是可以相互转换的。At ,Bt ,Ct ,Dt=ss2s
5、s(A ,B ,C ,D ,T)变换矩阵 T 不同, 可得到不同的状态方程表示形式, 如可控型, 可观测型, Jordan标准型表示。matlab 变换与控制书上讲的变换略有差别。这里是z = Tx,其中 x 是原来的变量,z 是现在的变量。书上则是x = Tz 。因此线性变换时,首先要对给定的变换矩阵进行逆变换,然后将其代入上面指令的 T 中。求对角阵(或约当阵):MATLAB 提供指令:At ,Bt ,Ct ,Dt ,T=canon(A ,B ,C ,D ,modal)它可将系统完全对角化,不会出现经典控制中的约当块。求可观测标准型:companion求可控标准型:首先需要求可观测标准型,
6、然后根据对偶关系求At,Ct,Bt,Dt例四: (1)将状态方程转化为对角标准型A=0 1 0;0 0 1;-6 -11 -6;1;C=0 0 0; At ,Bt ,Ct ,Dt ,T=canon(A ,B ,C ,D ,(2)求该系统的能观标准型并得变换阵T。B=0;1;C=1 0 0;At ,Bt ,Ct ,Dt ,T=canon(A ,B ,C ,D ,5 、线性定常系统的结构分解当系统是不可控的,可以进行可控性规范分解。使用a1,b1,c1,t,k=ctrbf(A,B,C)命令。验证 P497 例题 9-21。当系统是不可观测的,可以进行可观测性规范分解。使用a2,b2,c2,t,k=
7、obsvf(A,B,C) 命令。例五:(1)将下列系统进行可控性分解。该系统不可控 a1,b1,c1,t,k=ctrbf(A,B,C)(2)将以下系统进行可观测性分解:A=-1 0 0;0 -2 0;0 0 -4;B=2;2;C=0 1 2;%求能观判别阵a2,b2,c2,t,k=obsvf(A,B,C) 6 、极点配置算法调用命令格式为 K=acker(A,B,P),或者 K=place(A,B,P)。A,B 为系统系数矩阵,P 为配置极点,K 为反馈增益矩阵。用下列编码对状态反馈前后的输出响应进行比较(附带文件 control.m) 。t = 0:0.01:5;U = 0.025*ones
8、(size(t);%幅值为 0.025 输入阶跃信号Y1,X1=lsim(A,B,C,D,U,t);Y2,X2=lsim(A-B*K,B,C,D,U,t);figure(1)plot(t,Y1); grid; title(反馈前figure(2)plot(t,Y2);反馈后grid;例六:已知系统的传递函数为试设计一个状态反馈矩阵,使闭环系统的极点在-2,。依据系统传递函数写出能控标准型系统完全能控,可任意配置极点0 -2 -3;P=-2,-1+j,-1-j;K=acker(A,B,P)title(对状态反馈前后的输出响应进行比较7 、线性定常系统稳定判据函数 lyap(A,Q)求如下式的李氏
9、方程:AP+PA T =-Q注意与教材的区别,应将给定 A 矩阵转置后再代入 lyap 函数。例七:设系统的状态方程如下,其平衡状态在坐标原点处,试判断该系统的稳定性: 解:A=0 -2;1 -3;Q=1 0;0 1;lyap(A,Q)求解出的P阵正定,所以在原点出的平衡状态是渐近稳定的,且是大范围渐进稳定四实验总结:通过此次实验,我对状态空间模型的求解,及线性系统对角线标准型、约旦标准型、模态标准型、伴随矩阵标准型的表示方法,和相互之间进行变换的方法有了更深入、更直观的了解。之前的学习在没有实验之前总归是纸上谈兵,通过MATLAB仿真,对所学知识有了更加全面的理解。在做实验的过程中,有时会出现错误,大部分是跟标点符号有关,也提醒自己时刻注意切换英文输入法。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1