华北电力大学-《现代控制理论》实验一
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北电力大学
《现代控制理论》 MATLAB实验指导书
华北电力大学控制与计算机工程学院
二○一一年三月
实验一 状态空间模型分析
一、实验目的
l.加强对现代控制理论相关知识的理解;
2.掌握用matlab 进行系统李雅普诺夫稳定性分析、能控能观性分析;
二、实验仪器与软件
1. MATLAB7.6环境 三、实验内容 1
、模型转换
图1、模型转换示意图及所用命令
传递函数一般形式:
)()(11101110n m a s a s a s a b s b s b s b s G n
n n n m
m m m ≤++++++++=
−−−−K K
MATLAB 表示为:G=tf(num,den),其中num,den 分别是上式中分子,分母系数矩阵。
零极点形式:
∏∏==−−=
n
i j
m
i i p
s z s K s G 1
1)
()
()(
MATLAB 表示为: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。
2、状态方程状态解和输出解
单位阶跃输入作用下的状态响应:
G=ss(A,B,C,D);[y,t,x]=step(G);plot(t,x).
零输入响应
[y,t,x]=initial(G,x0)其中,x0为状态初值。
3、系统能控性和能观性
能控性判断:
首先求能控性判别矩阵:co=ctrb(A,B)。
然后求rank(co)并比较与A的行数n的大小,若小于n则不可控,等于为可控。也可以求co的行列式,不等于0,系统可控,否则不可控。
能观测性判断:
首先求能观测性阵ob=obsv(A,C),或者ob=ctrb(A',C');
然后求rank(ob)并比较与A的行数大小,若小于,为不可观测,等于则为可观测。
也可以求co的行列式,不等于0,系统能观,否则不能观
4、线性变换
一个系统可以选用不同的状态变量,所以状态方程是不唯一的。但是这些方程之间是可以相互转换的。
[At,Bt,Ct,Dt]=ss2ss(A,B,C,D,T)
变换矩阵T不同,可得到不同的状态方程表示形式,如可控型,可观测型,Jordan 标准型表示。matlab变换与控制书上讲的变换略有差别。这里是Tx
z=,其中x是原来的变量,z是现在的变量。书上则是Tz
x=。因此线性变换时,首先要对给定的变换矩阵进行逆变换,然后将其代入上面指令的T中。
求对角阵(或约当阵):
MATLAB提供指令:
[At,Bt,Ct,Dt,T]=canon(A,B,C,D,'modal')
它可将系统完全对角化,不会出现经典控制中的约当块。
求可观测标准型:
[At,Bt,Ct,Dt,T]=canon(A,B,C,D,'companion')
求可控标准型:
首先需要求可观测标准型,然后根据对偶关系求[At',Ct',Bt',Dt']
5、线性定常系统的结构分解
当系统是不可控的,可以进行可控性规范分解。使用
[a1,b1,c1,t,k]=ctrbf(A,B,C)命令。验证P497例题9-21。
当系统是不可观测的,可以进行可观测性规范分解。
使用[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(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); title('反馈后');
grid;
7、线性定常系统稳定判据
函数lyap(A,Q)求如下式的李氏方程:AP+PA T=-Q
注意与教材的区别,应将给定A矩阵转置后再代入lyap函数。