matlab 可观可控,MATLAB在线性离散系统可控性与可观性分析中的应用

本文介绍了MATLAB在系统可控性和可观性分析中的使用,指出传统方法的繁琐,并展示了MATLAB如何简化这一过程。通过离散系统为例,详细解释了如何利用MATLAB的ctrb()和obsv()函数来判断系统的可控性和可观性,强调了这些分析在系统设计中的重要性。
摘要由CSDN通过智能技术生成

1引言系统的可控性与可观性分析对状态空间分析具有十分重要的作用,系统的可控性是指系统的状态是否能够可以被控制,而系统的可观性是指系统状态的变化是否能够由输出检测反应出来。在进行控制系统的优化设计时,必须首先要分析系统是否可控以及是否可观,系统的可控性与可观性分析往往是确定最优系统是否有解的先决条件,可见系统的可控性与可观性对系统的设计至关重要。但传统的方法在分析系统的可控性与可观性分析时,要进行线性代数矩阵的化简,过程繁琐,如果借助MATLAB软件分析,可以简化分析过程,同时还可以进行其他性能的分析。MATLAB是当今最流行的数值计算软件,MATLAB控制工具箱已经覆盖了控制系统的各个领域。2可控性分析对于线性离散系统:(k1)Fx(k)(k)(k)Cx(k)Du(k)xGuy?对于线性离散系统分析,状态向量系统可控的充分必要条件是可控性矩阵CO=[GFG…Fn-1G]的秩为n,即:rank[GFG…Fn-1G]=n传统的方法是利用线性代数的知识求出可控性矩阵的秩,不但费时费力,而且有可能出错,如果借助MATLAB软件,只需按照MATLAB的函数命令ctrb()输入相关参数即可,函数命令ctrb()的调用格式为:CO=ctrb(A,B)式中A为离散系统的系统矩阵F或者是连续系统的系统矩阵A,B是离散系统的控制矩阵G或者是连续系统的控制矩阵B,CO为系统的可控性矩阵,其实函数命令ctrb()即可用于离散系统也可以用于连续系统。若用函数命令ctrb()运行后的可控性矩阵相同,最后计算出可控性矩阵的秩,然后根据运行结果判断可控性矩阵的秩是否满足状态完全可控的充分必要条件。例如某离散系统的空间状态方程为:1012(k1)021(k)1(k)3021y(k)[010]x(k)xxu?若采样周期T=0.1s,通过MATLAB软件来分析离散系统的可控性。F=[10-1;0-21;302];A=F;G=[2;-1;1];B=G;C=[010];D=0;n=3;CAM=ctrb(A,B)CO=[GF*GF*F*G]程序运行后的结果:CAM=21-7-1321819CO=21-7-1321819从运行的结果可以看出,可控性矩阵CO=CAM。现以MATLAB程序来确定离散系统的可控性。F=[10-1;0-21;302];A=F;G=[2;-1;1];B=G;C=[010];D=0;N=size(F);n=N(1);CAM=ctrb(A,B);rcam=rank(CAM);ifrcam==ndisp('systemiscontrolled')elseifrcaml,并且可以由[l,m]上的输出y(k)唯一的确定x0,则称系统在时刻l是完全可观测的。系统完全可观测的条件是下列矩阵的秩等于n。1n1CCFOBCF?其中rank(0B1)=nMATLAB中用函数命令obsv()来求可观性矩阵函数,函数obsv()的格式为:OB=obsv(A,C)其中参数A即为离散系统的系统矩阵F或者连续系统的系统矩阵A,参数C为离散系统的观测矩阵或者是连续系统的观测矩阵,OB为返回的系统可观性矩阵。同样以上面的空间状态方程来分析系统的可观性。F=[10-1;0-21;302];G=[2;-1;1];C=[010];D=0;OB=obsv(F,C)OB1=[C;C*F;C*F*F]OB2=[C'F'*C'F'*F'*C']'程序运行的结果为:OB=0100-21340OB1=0100-21340OB2=0-21340从运行结果可以看出OB=OB1=OB2。现以程序来分析系统的可观性。F=[10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值