Documentation |
Compute controllability staircase form
[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C)
ctrbf(A,B,C,tol)
If the controllability matrix of (A, B) has rank r ≤ n, where n is the size of A, then there exists a similarity transformation such that
$$\begin{array}{ccc}\overline{A}=TA{T}^{T},& \overline{B}=TB,& \overline{C}=C{T}^{T}\end{array}$$
where T is unitary, and the transformed system has a staircase form, in which the uncontrollable modes, if there are any, are in the upper left corner.
$$\begin{array}{ccc}\overline{A}=\left[\begin{array}{cc}{A}_{uc}& 0\\ {A}_{21}& {A}_{c}\end{array}\right],& \overline{B}=\left[\begin{array}{l}0\\ {B}_{c}\end{array}\right],& \overline{C}=\left[{C}_{nc}{C}_{c}\right]\end{array}$$
where (A_{c}, B_{c}) is controllable, all eigenvalues of A_{uc} are uncontrollable, and $${C}_{c}{(sI-{A}_{c})}^{-1}{B}_{c}=C{(sI-A)}^{-1}B$$.
[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C) decomposes the state-space system represented by A, B, and C into the controllability staircase form, Abar, Bbar, and Cbar, described above. T is the similarity transformation matrix and k is a vector of length n, where n is the order of the system represented by A. Each entry of k represents the number of controllable states factored out during each step of the transformation matrix calculation. The number of nonzero elements in k indicates how many iterations were necessary to calculate T, and sum(k) is the number of states in A_{c}, the controllable portion of Abar.
ctrbf(A,B,C,tol) uses the tolerance tol when calculating the controllable/uncontrollable subspaces. When the tolerance is not specified, it defaults to 10*n*norm(A,1)*eps.
Compute the controllability staircase form for
A = 1 1 4 -2 B = 1 -1 1 -1 C = 1 0 0 1
and locate the uncontrollable mode.
[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
The decomposed system Abar shows an uncontrollable mode located at -3 and a controllable mode located at 2.