实验三 利用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