用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机理论

线性系统龙伯格能控规范型的算法分析

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 12:06:59
【本文由PB创新网为您整理】

【摘要】该文从线性系统能控规范型的基本理论入手,详细介绍了龙伯格能控规范型的构造方法和实现步骤,并就此问题给出了一个具有较高实用价值的MATLAB通用程序。

【关键词】线性系统    能控规范型    MATLAB


Algorithmic analysis of Linear system Luenberger Controllable
Standard Model


1  前言
线性系统的状态空间分析法,是线性系统理论中最重要和影响最广泛的一个分支。状态空间法中,用以表征系统动力学特征的数学模型是反映输入、输出变量和状态变量之间关系的一对向量方程,称为状态方程和输出方程。
 (状态方程)
  (输出方程)
这是一种时间域分析方法,在系统的分析和综合中,所涉及的计算主要为矩阵运算和矩阵变换,MATLAB为此提供了一个强有力的工具。
线性系统能控规范型的实现,在线性反馈系统的状态变量反馈和含状态观测器的状态变量反馈系统的设计中占有很重要的地位。本文针对线性系统理论中的极点配置问题,着重讨论如何利用MATLAB语言来实现任意线性多输入、多输出系统的龙伯格能控规范型的算法。并给出了一个利用MATLAB语言编制的实现此算法的通用程序。
2  线性系统能控规范型的相关理论
2.1  能控性和能观性的概念
能控性和能观性是系统的两个基本的结构特征。现代控制理论的发展表明,这两个概念对于控制和估计问题的研究有着极其重要的意义。在一个系统中,输入输出构成系统的外部变量,状态变量为系统的内部变量,能控性是反映系统的所有内部(状态)变量能否由输入变量来影响和控制,并由任意始点到达原点。能观性则是表明系统内部(状态)变量能否由输出完全反映。
2.2  系统的能控性判据
定理:线性定常系统
 
为完全能控的充分必要条件是:
rank[B┆AB┆A2B┆……┆An-1B]=n
其中,n为系数矩阵A的维数。
定义系统的能控性判别矩阵为:
  Qc=[B┆AB┆A2B┆……┆An-1B]
2.3  能控规范型的算法分析
对于完全能控的线性定常系统,从能控制性这一基本属性出发,可以构造一个非奇异的变换矩阵,通过这一线性变换,就能够把系统状态空间的描述转化为只有能控系统才具有的标准形式。
对于单输入—单输出系统:
 
 能控规范性的变换矩阵:
 
                                               引入线性变换   则有
 
 其中,
     
 
                                                                                                                  
  对于多输入—多输出系统:                                      
  (1)
设:rank B = r 输入变量数为p,输出变量数为q。 。构造其龙伯格能控规范型的方法如下:
对能控性矩阵
  Qc=[B┆AB┆A2B┆……┆An-1B]
其中
       B=[b1,b2,……,bq]
找出n个线性无关的列,表示如下:
 其中 ,能控性指数 
令 取p的每个块阵中的末行:
 
 构造变换矩阵
 
引入线性非奇异变换   
即可得到系统 (1)的龙伯格能控规范型:
                              
其中
 
  i=1,2,……,r
    
 
 
上述矩阵中,“*”表示的元素为可能的非零元。

3   Luenberger能控规范型算法的实现
下面给出了一个完成Luenberger能控规范型算法的MATLAB程序,程序的代码如下:

A=[……];
B=[……];
C=[……];
%(在“……”处输入相应的数据)
寻找B矩阵的无关列向量:
for l=1:2
    RA=rank(A);RB=rank(B);Bwg=B(:,1);
   for i=2:RB
      if rank(Bwg)<RB,
          Bwg=[Bwg,B(:,i)];
      end
   end
%确定能控性指数u:
 SO=[];
   for i=0:RA
      for j=1:RB
         if rank(SO)<rank([SO,A^i*Bwg(:,j)]),
            SO=[SO,A^i*Bwg(:,j)];
            u(j)=i+1;
         end
      end
   end
%构造p逆矩阵:
PNI=[];
for j=1:RB
   for i=0:u(j)-1
      PNI=[PNI,A^i*Bwg(:,j)];
   end
end
P=inv(PNI);
%构造Luenberger规范型变换矩阵S-1
SNI=[];j=0;
for k=1:RB
   j=u(k)+j;
   for i=0:u(k)-1
      SNI=[SNI;P(j,:)*A^i];
   end
end
%求Luenberger规范型矩阵Ac、Bc:
S=inv(SNI);Ac=SNI*A*S;Bc=SNI*B;
Cc=C*S;

4 结束语
使用MATLAB语言编写的程序来求解线性系统的龙伯格能控规范型,进而可以很方便地进一步设计线性系统的状态变量反馈系统,以实现系统极点的任意配置,从而改善系统的性能,并且也使得多输入—多输出系统的状态观测器的设计变得轻而易举。因此,本文所讨论的问题有相当的普遍性,同时给出的解决方案也具有较高的实用价值。


参考文献:
1、《线性系统理论》(M),郑大钟,清华大学出版社。1990年3月第一版。
2、Chi-Tsong Chen, “LINEAR SYSTEM THEORY AND DESING” (M),   Holt Richard and Winston.  revised edition 1984
3、《掌握和精通MATLAB》(M),张志涌、刘瑞帧等,北京航空航天大学出版社。1997年8月第一版。


 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:17,578.13000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号