实验三 利用 Matlab 分析能控性和能观性实验目的:熟练掌握利用 Matlab 中相关函数分析系统能控能观性、求取两种标准型、系统的结构分解的方法
实验内容:1、能控性与能观性分析中常用的有关 Matlab 函数有:Size(a,b) 猎取矩阵的行和列的数目Ctrb(a,b) 求取系统能控性判别矩阵Obsv(a,c) 求取能观性判别矩阵Rank(t) 求取矩阵的秩Inv(t) 求矩阵的逆[abar,bbar,cbar,t,k]=ctrbf(a,b,c) 对系统按能控性分解,t 为变换阵,k 为各子系统的秩[abar,bbar,cbar,t,k]=obsvf(a,b,c) 对系统按能观性分解2、利用 Matlab 判定系统能控性和能观性A、 求取判别矩阵的秩,而判别矩阵可用两种方法得到:M=ctrb(a,b) 或者 M=[b,a*b,a^2*b,……]B、 将系统变换为对角线型或者约当标准型,根据结果直接推断
化为标准型可以使用第一次实验中介绍的 ss2ss、canon 等函数
3、化为能控标准型和能观标准型如:>> a=[1 0 1;0 1 0;1 0 0];>> b=[0 1 1]';>> c=[1 1 0];>> m=ctrb(a,b)m = 0 1 1 1 1 1 1 0 1>> n=length(a);tc1=eye(n);tc2=eye(n);>> tc1(:,1)=m(:,3)tc1 = 1 0 0 1 1 0 1 0 1>> tc1(:,2)=m(:,2)tc1 = 1 1 0 1 1 0 1 0 1>> tc1(:,3)=m(:,1)tc1 = 1 1 0 1 1 1 1 0 1>> qc=rank(m)qc = 3>> den=poly(a)den = >> tc2(2,1)=den(2)tc2 = 1 0 0 -2 1 0 0 0 1>>