matlab-自控原理 给出线性定常系统的A和B矩阵,用秩判据判断系统的能控性

来源:互联网 发布:网络迷情对唱 编辑:程序博客网 时间:2024/05/03 21:01

镇场诗:慈心积善融学习,技术誓为大家学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。
——————————————————————————————————————————————————————————

1、代码

%x'=A*x+B*uclear;clc;%A矩阵A=[1 3 0;0 0 1;0 2 1]%B矩阵B=[0;1;0]%知道A的行数列数,也就知道了n。sizeOfA=size(A);temp=B;%i必须要从1开始。%for循环别写{}了for i=1:1:sizeOfA(1)-1        Q=zeros(sizeOfA(1),i+1);       %横向连接B矩阵与power(A,i)*B矩阵    Q=cat(2,temp,A^i*B);    temp=Q;    endfprintf('Qc矩阵是');Qfprintf('Qc矩阵的秩是%d,',rank(Q))fprintf('n是%d\n',sizeOfA(1))if(rank(Q)==sizeOfA(1))    fprintf('所以能控\n');else    fprintf('所以不能控\n');end


2、效果

A =     1     3     0     0     0     1     0     2     1B =     0     1     0Qc矩阵是Q =     0     3     3     1     0     2     0     2     2Qc矩阵的秩是2,n是3所以不能控





——————————————————————————————————————————————————————————
感恩帮助过我的人。博客的精髓在技术部分,更在镇场一诗。
我是一个新手,代码还有许多不完善的地方,请您看代码的时候多多思考。
MATLAB是一个优秀的软件,值得学习。如果您有一些不会的知识,咱们可以相互讨论。
如果您认为代码可以有改进的地方,有错误的地方,请留下评论,我会处理的。
注:如果我的博文无意中侵犯了您的权益,请告知。看到您的告知后,我将及时作出处理。
0 0
原创粉丝点击