matlab-自控原理 秩判据 能观性 已知线性定常系统的A和C矩阵

原创
2019/02/23 19:18
阅读数 438

     matlab : R2018a 64bit
      OS : Windows 10 x64
typesetting : Markdown
       blog : my.oschina.net/zhichengjiu

code

clear
clc

% x'=A*x+B*u
% y=C*x

% A矩阵
A=[1 0 0;0 0 1;0 5 0]

% C矩阵
C=[1 1 0]

%知道A的行数列数,也就知道了n。
sizeOfA=size(A);
temp=C;

%i必须要从1开始。
for i=1:1:sizeOfA(1)-1
    
    Q=zeros(i+1,sizeOfA(1));   
    %横向连接B矩阵与power(A,i)*B矩阵
    Q=cat(1,temp,C*A^i);
    temp=Q;
    
end

fprintf('Qc矩阵是');
Q
fprintf('Qc矩阵的秩是%d,',rank(Q))
fprintf('n是%d\n',sizeOfA(1))

if(rank(Q)==sizeOfA(1))
    fprintf('所以能观\n');
else
    fprintf('所以不能观\n');
end

result


A =

     1     0     0
     0     0     1
     0     5     0


C =

     1     1     0

Qc矩阵是
Q =

     1     1     0
     1     0     1
     1     5     0

Qc矩阵的秩是3,n是3
所以能观
>> 

more knowledge

即使是根据已有的计算过程来设计算法,也会消耗大量的时间。

这篇博文中的算法,具体的步骤是这样的:

1、用标准的方法一步一步的解出
2、多做几道题,多看看定义,找到规律
3、用人类的语言,写出规律
4、翻译成软件能懂的语言
注:在第四步的时候,就需要对软件的各个函数功能有了解。如果没有了解的话,就只能上网搜索了。

resource

  • [文档] ww2.mathworks.cn/help/matlab
  • [文档] ww2.mathworks.cn/help/simulink
  • [平台] www.oschina.net
  • [平台] gitee.com


感谢帮助 志成就 的人们。
matlab优秀,值得学习。基础知识 + 专业知识 + matlab = ?
Simulink,用于仿真和基于模型的设计,值得学习。
该博文仅可用于测试与参考。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部