第一章 系统描述 1.1 引言 一个复杂系统可能有多个输入和多个输出,并且以某种方式相互关联或耦合。为了分析这样的系统,必须简化其数学表达式,转而借助于计算机来进行各种大量而乏味的分析与计算。从这个观点来看,状态空间法对于系统分析是最适宜的。 经典控制理论是建立在系统的输入-输出关系或传递函数的基础之上的,而现代控制理论以n个一阶微方程来描述系统,这些微分方程又组合成一个一阶向量-矩阵微分方程。应用向量-矩阵表示方法,可极大地简化系统的数学表达式。状态变量、输入或输出数目的增多并不增加方程的复杂性。事实上,分析复杂的多输入-多输出系统,仅比分析用一阶纯量微分方程描述的系统在方法上稍复杂一些。 本文将主要涉及控制系统的基于状态空间的描述、分析与设计部分。本章将首先给出状态空间方法的描述部分。将以单输入单输出系统为例,给出包括适用于多输入多输出或多变量系统在内的状态空间表达式的一般形式、线性多变量系统状态空间表达式的标准形式(相变量、对角线、Jordan、能控与能观测)、传递函数矩阵,以及利用MATLAB进行各种模型之间的相互转换。第二章将讨论状态反馈控制系统的分析方法。第三章将给出设计方法。 本章1.1节为控制系统状态空间分析的引言。1.2节介绍传递函数的状态空间表达式,并给出状态空间表达式的各种标准形。1.3节讨论用MATLAB进行系统模型的转换(如从传递函数变换为状态空间模型等)。 1.2 状态空间表达式 为获得传递函数的状态空间表达式,有多种方法。在《系统分析与控制》中曾介绍过几种。本节将介绍状态空间的能控标准形、能观测标准形、对角线形与Jordan标准形,在例1.17~1.21中将讨论由传递函数获得这些状态空间表达式的方法。 1.2.1 状态空间表达式的标准形式 考虑由下式定义的系统:  式中u为输入,y为输出。该式也可写为  下面给出由式(1.1)或式(1.2)定义的系统状态空间表达式之能控标准形、能观测标准形和对角线形(或Jordan形)标准形。 1.2.1.1 能控标准形 下列状态空间表达式为能控标准形:   在讨论控制系统设计的极点配置方法时,这种能控制准形是非常重要的。从式(1.1)或式(1.2)到式(1.3)和式(1.4)的推导,可见例1.17。 1.2.1.2 能观测标准形 下列状态空间表达式为能观测标准形:  注意,式(1.5)给出的状态方程中n×n维系统矩阵是式(1.3)所给出的相应矩阵的转置。 1.2.1.3 对角线标准形 参考由式(1.2)定义的传递函数。这里,考虑分母多项式中只含相异根的情况。对此,式(1.2)可写成:  该系统的状态空间表达式的对角线标准形由下式确定:  1.2.1.4 Jordan标准形 下面考虑式(1.2)的分母多项式中含有重根的情况。对此,必须将前面的对角线标准形修改为Jordan标准形。例如,假设除了前3个 即相等外,其余极点 相异。于是,Y(s)/U(s)因式分解后为:  该式的部分分式展开式为  该系统状态空间表达式的Jordan标准形由下式确定:  [例1.1] 考虑由下式确定的系统:  试求其状态空间表达式之能控标准形、能观测标准形和对角线标准形。 解: 能控标准形为:  能观测标准形为:  对角线标准形为:  1.2.2 n×n维系统矩阵A的特征值 n×n维系统矩阵A的特征值是下列特征方程的根:  这些特征值也为称特征根。 例如,考虑下列矩阵A:  特征方程为:  这里A的特征值就是特征方程的根,即-1、-2和-3。 1.2.3 n×n维系统矩阵的对角线化 如果一个具有相异特征值的n×n维矩阵A由下式给出:  作如下非奇异线性变换x = P z,其中  这里λ1,λ2,···,λn是系统矩阵A的n个相异特征值。将P -1AP变换为对角线矩阵,即 P -1AP= 如果由方程(1.2)定义的矩阵A含有重特征值,则不能将上述矩阵对角线化。例如,3×3维矩阵  有特征值λ1,λ2,λ3,作非奇异线性变换x = S z,其中  得到  该式是一个Jordan标准形。 [例1.2] 考虑下列系统的状态空间表达式:  式(1.3)和(1.4)可写为如下标准形式:  式中  矩阵A的特征值为: λ1 = -1,λ2 = -2,λ3 = -3 因此,这3个特征值相异。如果作变换  或 x = P z (1.7) 定义一组新的状态变量Z1、Z2和Z3,式中 P = 那么,通过将式(1.7)代入式(1.5),可得  将上式两端左乘P -1,得  或者  + 化简得,  式(1.20)也是一个状态方程,它描述了由式(1.3)定义的同一个系统。 输出方程(1.6)可修改为: y = CP z 或  注意:由式(1.8)定义的变换矩阵P将z的系统矩阵转变为对角线矩阵。由式(1.20)显然可看出,3个纯量状态方程是解耦的。注意式(1.19)中的矩阵P -1AP的对角线元素和矩阵A的3个特征值相同。此处强调A和P -1AP的特征值相同,这一点非常重要。作为一般情况,我们将证明这一点。 1.2.4 特征值的不变性 为证明线性变换下特性值的不变性,需证明|λI - A|和|λI – P -1AP|的特征多项式相同。 由于乘积的行列式等于各行列式的乘积,故  注意到行列式|P -1|和|P|的乘积等于乘积|P -1P|的行列式,从而 |λI-P -1AP| = |P -1P| |λI-A| = |λI-A| 这就证明了在线性变换下矩阵A的特征值是不变的。 1.2.5 状态变量组的非唯一性 前面已阐述过,给定系统的状态变量组不是唯一的。设是一组状态变量,可取任意一组函数,  作为系统的另一组状态变量,这里假设对每一组变量都对应于唯一的一组的值。反之亦然。因此,如果x是一个状态向量,则  也是一个状态向量,这里假设变换矩阵P是非奇异的。显然,这两个不同的状态向量都能表达同一系统之动态行为的同一信息。 1.3 利用MATLAB进行系统模型之间的相互转换 本节将讨论系统模型由传递函数变换为状态方程,反之亦然。现讨论如何由传递函数变换为状态方程。 将闭环传递函数写为  当有了这一传递函数表达式后,使用如下MATLAB命令: [A, B, C, D] = tf2ss (num, den) 就可给出状态空间表达式。应着重强调,任何系统的状态空间表达式都不是唯一的。对于同一系统,可有许多个(无穷多个)状态空间表达式。上述MATLAB命令仅给出了一种可能的状态空间表达式。 1.3.1 传递函数系统的状态空间表达式 考虑以下传递函数  对该系统,有多个(无穷多个)可能的状态空间表达式,其中一种可能的状态空间表达式为:  另外一种可能的状态空间表达式(在无穷个中)为:  MATLAB将式(1.22)给出的传递函数变换为由式(1.23)和(1.24)给出的状态空间表达式。对于此处考虑的系统,MATLAB Program 1-1将产生矩阵A、B、C和D。 MATLAB Program 1-1  Num=[0 0 1 0]; Den=[1 14 56 160]; [A,B,C,D] = tf2ss(num,den) A= -14 -56 -160 1 0 0 0 1 0   B= 1 0 0 C= 0 1 0 D= 0   1.3.2 由状态空间表达式到传递函数的变换 为了从状态空间方程得到传递函数,采用以下命令: [num,den] = ss2tf [A,B,C,D,iu] 对多输入的系统,必须具体化iu。例如,如果系统有3个输入(u1,u2,u3),则iu必须为1、2或3中的一个,其中1表示u1,2表示u2,3表示u3。 如果系统只有一个输入,则可采用 [num,den] = ss2tf (A,B,C,D) 或 [num,den] = sstf (A,B,C,D,1) (见例1.3和MTLAB Program1-2) MTLAB Program 1-2  A=[0 1 0; 0 0 1; -5.008 -25.1026 -5.032471]; B=[0; 25.04; -121.005]; C=[1 0 0]; D=[0]; [num,den]=ss2tf(A,B,C,D) num= 0 -0.0000 25.0400 5.0080 den= 1.0000 5.0325 25.1026 5.0080 %*****The same result can be obtained by entering the following command***** [num,den]=ss2tf(A,B,C,D,1) num= 0 -0.0000 25.0400 5.0080 den= 1.0000 5.0325 25.1026 5.0080  对于系统有多个输入与多个输出的情况,见例1.4。 [例1.3] 试求下列状态方程所定义的系统的传递函数。  MATLAB Program 1-2将产生给定系统的传递函数。所得传递函数为:  [例1.4] 考虑一个多输入-多输出系统。当系统输出多于一个时,MATLAB命令: [NUM,den] = ss2tf (A,B,C,D,iu) 对每个输入产生所有输出的传递函数(分子系数转变为具有与输出相同行的矩阵NUM)。 考虑由下式定义的系统:  该系统有两个输入和两个输出,包括4个传递函数:Y1(s)/U1(s)、Y2(s)/U1(s)、Y1(s)/U2(s)和Y2(s)/U2(s)(当考虑输入u1时,可设u2为零。反之亦然),见下列MATLAB输出: A=[0 1; -25 -4]; B=[1 1; 0 1]; C=[1 0; 0 1]; D=[0 0; 0 0] [NUM,den]=ss2tf(A,B,C,D,1) NUM= 0 1 4 0 0 -25 den= 1 4 25 [NUM,den]=ss2tf(A,B,C,D,2) NUM= 0 1.0000 5.0000 0 1.0000 -25.000 den= 1 4 25   以上就是下列4个传递函数的MATLAB表达式:  习题 1.1 考虑以下系统的传递函数:  试求该系统状态空间表达式的能控标准形和可观测标准形。 1.2 考虑下列单输入单输出系统:  试求该系统状态空间表达式的对角线标准形。 1.3 考虑由下式定义的系统:  式中  试将该系统的状态空间表达式变换为能控标准形。 1.4 考虑由下式定义的系统:  式中  试求其传递函数Y(s)/U(s)。 1.5 考虑下列矩阵:  试求矩阵A的特征值λ1,λ2,λ3 和λ4。再求变换矩阵P,使得