Function File: [sysbar, T, K] = ctrbf (sys)
Function File: [sysbar, T, K] = ctrbf (sys, tol)
Function File: [Abar, Bbar, Cbar, T, K] = ctrbf (A, B, C)
Function File: [Abar, Bbar, Cbar, T, K] = ctrbf (A, B, C, TOL)

If Co=ctrb(A,B) has rank r <= n = SIZE(A,1), then there is a similarity transformation Tc such that Tc = [t1 t2] where t1 is the controllable subspace and t2 is orthogonal to t1

Abar = Tc \\ A * Tc ,  Bbar = Tc \\ B ,  Cbar = C * Tc

and the transformed system has the form

       |Ac    A12|          |Bc |
Abar = |----------|,   Bbar = |---|,  Cbar = [Cc |Cnc].
       |0     Anc|          | 0 |

where (Ac,Bc) is controllable, and Cc(sI-Ac)^(-1)Bc = C(sI-A)^(-1)B. and the system is stabilizable if Anc has no eigenvalues in the right half plane. The last output K is a vector of length n containing the number of controllable states.

Package: control