ngbz2.m
来自「该程序可以用于所以现代控制理论里的关于系统的能观性、能控性等判断」· M 代码 · 共 18 行
M
18 行
function ngbz2(A,B,C)
co=ctrb(A,B);m=rank(co); % m为系统的控制矩阵的秩,co为控制矩阵
N=size(A);n=N(1); % n为系统维数
if m==n
disp('系统是能控的')
else
disp('系统是不能控的')
end
if m~=n
end
a=poly(A);% syms r;I=eye(n);expand(det(r*I-A)); a为特征多项式的各系数,从最大到最小,a(n),a(n-1)---,a(0)
T1=fliplr(co)*[1 0 0;a(2) 1 0;a(3) a(2) 1]; % T1为线性非奇异变换阵
A2=inv(T1)*A*T1;
B2=inv(T1)*B;
C2=C*T1;
A=A2' %A=flipud(rot90(A2))
B=C2' %B=flipud(rot90(C2))
C=B2' %C=flipud(rot90(B2))
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?