MATLAB在线性离散系统可控性与可观性分析中应用
MATLAB在线性离散系统可控性与可观性分析中应用
摘要:在设计最优控制系统时,必须首先分析出系统的可控性与可观性,利用传统的方法进行分析时,必须要进行线性代数矩阵的化简,整个过程显得比较繁琐,且容易出错,借助MATLAB软件可以很好的解决这一问题,基于以上思想,本文介绍了如何使用MATLAB对线性离散系统可控性与可观性的分析。
关键词:控制系统 MATLAB 可控性 可观性
中图分类号:TB114.2 文献标识码:A 文章编号:1007-9416(2015)01-0000-00
Abstract: When designing optimal control system, we must analyze the controllability and observability of the system. And when analyzing with traditional methods, we have to simplify matrix of linear algebra. The whole process is complex and error - prone. With the help of MATLAB software, this problem is easy to solve. Therefore, based on this analysis, the paper introduces how to use the controllability and observability MATLAB linear discrete - time systems
Key words: control system;MATLAB; controllability; observability
1 引言
系统的可控性与可观性分析对状态空间分析具有十分重要的作用,系统的可控性是指系统的状态是否能够可以被控制,而系统的可观性是指系统状态的变化是否能够由输出检测反应出来。在进行控制系统的优化设计时,必须首先要分析系统是否可控以及是否可观,系统的可控性与可观性分析往往是确定最优系统是否有解的先决条件,可见系统的可控性与可观性对系统的设计至关重要。但传统的方法在分析系统的可控性与可观性分析时,要进行线性代数矩阵的化简,过程繁琐,如果借助MATLAB软件分析,可以简化分析过程,同时还可以进行其他性能的分析。MATLAB是当今最流行的数值计算软件,MATLAB控制工具箱已经覆盖了控制系统的各个领域。
2 可控性分析
对于线性离散系统:
对于线性离散系统分析,状态向量系统可控的充分必要条件是可控性矩阵
CO=[G FG …Fn-1G] 的秩为n,即:rank[G FG …Fn-1G]=n
传统的方法是利用线性代数的知识求出可控性矩阵的秩,不但费时费力,而且有可能出错,如果借助MATLAB软件,只需按照MATLAB的函数命令ctrb( )输入相关参数即可,函数命令ctrb( )的调用格式为:CO=ctrb(A,B)
式中A为离散系统的系统矩阵F或者是连续系统的系统矩阵A,B是离散系统的控制矩阵G或者是连续系统的控制矩阵B,CO为系统的可控性矩阵,其实函数命令ctrb( )即可用于离散系统也可以用于连续系统。
若用函数命令ctrb( )运行后的可控性矩阵相同,最后计算出可控性矩阵的秩,然后根据运行结果判断可控性矩阵的秩是否满足状态完全可控的充分必要条件。
例如某离散系统的空间状态方程为:
若采样周期T=0.1s,通过MATLAB软件来分析离散系统的可控性。
F=[1 0 -1;0 -2 1;3 0 2];A=F;
G=[2;-1;1];B=G;
C=[0 1 0];D=0;n=3;
CAM=ctrb(A,B)
CO=[G F*G F*F*G]
程序运行后的结果:
CAM =
2 1 -7
-1 3 2
1 8 19
CO =
2 1 -7
-1 3 2
1 8 19
从运行的结果可以看出,可控性矩阵CO=CAM。现以MATLAB程序来确定离散系统的可控性。
F=[1 0 -1;0 -2 1;3 0 2];A=F;
G=[2;-1;1];B=G;
C=[0 1 0];D=0;N=size(F);n=N(1);
CAM=ctrb(A,B);
rcam=rank(CAM);
if rcam==n
disp('system is controlled')
elseif rcam
dis