Main Content

ctrbf

计算可控性阶梯形式

语法

[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C)
ctrbf(A,B,C,tol)

说明

如果 (A, B) 的可控性矩阵的秩为 rn,其中 nA 的大小,则存在相似变换满足

A¯=TATT,B¯=TB,C¯=CTT

其中 T 是酉矩阵,并且变换后的系统具有阶梯形式,其中不可控模式(如果有)位于左上角。

A¯=[Auc0A21Ac],B¯=[0Bc],C¯=[CncCc]

其中 (Ac, Bc) 是可控的,Auc 的所有特征值都是不可控的,并且 Cc(sIAc)1Bc=C(sIA)1B

[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C) 将由 ABC 表示的状态空间系统分解为上文所述的可控性阶梯形式 AbarBbarCbarT 是相似变换矩阵,k 是长度为 n 的向量,其中 n 是由 A 表示的系统的阶。k 的每个条目表示在变换矩阵计算的每个步骤中析出的可控状态的数量。k 中非零元素的数量表示计算 T 需要多少次迭代,sum(k)Ac 中状态的数量,即 Abar 的可控部分。

ctrbf(A,B,C,tol) 在计算可控/不可控子空间时使用容差 tol。如果未指定容差,则默认为 10*n*norm(A,1)*eps

示例

计算以下项的可控性阶梯形式

A =
     1     1
     4    -2

B =
     1    -1
     1    -1

C =
     1     0
     0     1

并定位不可控模式。

[Abar,Bbar,Cbar,T,k]=ctrbf(A,B,C)

Abar =
   -3.0000         0
   -3.0000    2.0000

Bbar =
    0.0000    0.0000
    1.4142   -1.4142

Cbar =
   -0.7071    0.7071
    0.7071    0.7071

T =
   -0.7071    0.7071
    0.7071    0.7071
k =
     1     0

分解后的系统 Abar 在 -3 处显示一个不可控模式,在 2 处显示一个可控模式。

算法

ctrbf 实现 [1] 的阶梯算法。

参考

[1] Rosenbrock, M.M., State-Space and Multivariable Theory, John Wiley, 1970.

版本历史记录

在 R2006a 之前推出

另请参阅

|