|
|
[求助]
基于matlab对高阶系统矩阵可控分解若干问题
Sample Text
本人在对一个24阶的系统,进行能控分解时,使用matlab控制箱内的函数ctrbf进行分解,代码如下:
A1=[-0.05 6 0 0 -6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 -10/3 10/3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;-637/96 0 -5/21 -695/168 0 -35/8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;-455/24 0 0 -25/2 0 -25/2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0.4242*pi 0 0 0 0 0 -0.1414*pi 0 0 0 0 0 -0.1414*pi 0 0 0 0 0 -0.1414*pi 0 0 0 0 0;17/96 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 -1/25 4.5 0 0 -4.5 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 -100/33 100/33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 -13895/1944 0 -5/21 -1165/252 0 -175/36 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 -9925/486 0 0 -125/9 0 -125/9 0 0 0 0 0 0 0 0 0 0 0 0;-0.1414*pi 0 0 0 0 0 0.4242*pi 0 0 0 0 0 -0.1414*pi 0 0 0 0 0 -0.1414*pi 0 0 0 0 0;0 0 0 0 0 0 17/108 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 -0.05 25/4 0 0 -25/4 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 0 -20/7 20/7 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 -7.5 0 -5/21 -100/21 0 -5 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 -150/7 0 0 -100/7 0 -100/7 0 0 0 0 0 0;-0.1414*pi 0 0 0 0 0 -0.1414*pi 0 0 0 0 0 0.4242*pi 0 0 0 0 0 -0.1414*pi 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 0.17 0 0 0 1 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/15 23/3 0 0 -23/3 0; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8/3 8/3 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -112/17 0 -5/21 -1385/357 0 -70/17; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -320/17 0 0 -200/17 0 -200/17; -0.1414*pi 0 0 0 0 0 -0.1414*pi 0 0 0 0 0 -0.1414*pi 0 0 0 0 0 0.4242*pi 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17/80 0 0 0 1 0];
B1=[6 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0;0 4.5 0 0;0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0;0 0 25/4 0;0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 23/3;0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0];
C1=[17/96 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 17/108 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 17/100 0 0 0 1 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17/80 0 0 0 1 0];
D1=[0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0];
sys1=ss(A1,B1,C1,D1);
[Abar1,Bbar1,Cbar1,Tbar1,k1]=ctrbf(A1,B1,C1);
根据ctrbf这个函数的注释

这个Ac可控部分上面为0,但是我分解出来的如下:

蓝色部分是可控部分,但是途中红色标出部分不为零,请问有何解决办法,或者这个有无影响?谢谢大佬 |
|