ex622.m
来自「详细介绍了Mathlab的使用方法与技巧」· M 代码 · 共 15 行
M
15 行
A=[2 0 0 1;0 4 1 3;0 0 4 1;0 0 0 2];B=[1;0;1;2];C=[1 1 0 0]; %系统状态方程模型
n=length(A); %求系统阶次n
Q=ctrb(A,B); %求解系统可变换矩阵
m=rank(Q); %求系统可控性矩阵的秩m
if m==n %if-else-end程序判断系统是否完全可控,满足m=n系统状态完全可控
Ac1=inv(Q)*A*Q; %
Bc1=inv(Q)*B;Cc1=C*Q; % ;
disp('System is controllable.');
disp('System First Controllable Canonnical Form is:'); Ac1,Bc1,Cc1
disp('The Transformation Martrix is:');Q
else %m<n系统状态不完全可控
disp('system state Variable cannot be totally controlled');
disp('The rank of System Controllable Martix is:');m %可控的状态变量数
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?