对于由A,B,C,D定义的系统,MATLAB使用命令ctrb计算可控性矩阵,使用obsv计算可观性矩阵。定义
CONT=ctrb(A,B)
OBSER=obsv(A,C)
则矩阵CONT和OBSER的秩分别决定了系统的可控性和可观性。如果rank(CONT)或rank(OBSER)小于n,其中n为系统阶数,那么系统就分别为不可控的或不可观的。在借助传递函数表示时,如果CONT和OBSER的秩小于n,就说明传递函数的分子与分母之间存在对消项,可以使用minreal(sys)来观测能否得到一个简化后的传递函数
>> A=[0 1 0;0 0 1;-6 -11 -6];
>> B=[0;0;1];
>> C=[5 6 1];
>> D=[0];
>> CONT=ctrb(A,B)
CONT =
0 0 1
0 1 -6
1 -6 25
>> rank(CONT)
ans =
3
>> OBSER=obsv(A,C)
OBSER =
5 6 1
-6 -6 0
0 -6 -6
>> rank(OBSER)
ans =
2
>> [num,den]=ss2tf(A,B,C,D);
>> sys=tf(num,den)
sys =
s^2 + 6 s + 5
----------------------
s^3 + 6 s^2 + 11 s + 6
Continuous-time transfer function.
>> sys_min=minreal(sys)
sys_min =
s + 5
-------------
s^2 + 5 s + 6
Continuous-time transfer function.
因篇幅问题不能全部显示,请点此查看更多更全内容