Compute controllability staircase form
[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C)
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
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.
where (Ac, Bc) is controllable, all eigenvalues of Auc are uncontrollable, and .
[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 Ac, 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.