CONTR(G)

NAME
contr - controllability, controllable subspace

CALLING SEQUENCE
[n [,U]]=contr(A,B [,tol])
[A1,B1,U,ind]=contr(A,B [,tol])

PARAMETERS

A, B
    : real matrices

tol : may be the constant rtol or the 2 vector [rtol atol]

    rtol
        :tolerance used when evaluating ranks (QR factorizations).

    atol
        :absolute tolerance (the B matrix is assumed to be 0 if norm(B)<atol)

        n   : dimension of controllable subspace.

        U   : orthogonal change of basis which puts (A,B) in canonical form.

        A1  : block Hessenberg matrix

        B1  : is U'*B.

        ind : vector of controllability indexes (dimensions of subspaces B, B+A*B,...)

DESCRIPTION
[n,[U]]=contr(A,B,[tol]) gives the controllable form of an (A,B) pair.(dx/dt = A x + B u or x(n+1) = A x(n) +b u(n)). The n first columns of U make a basis for the controllable subspace.

If V=U(:,1:n), then V'*A*V and V'*B give the controllable part of the (A,B) pair.

[A1,B1,U,ind]=contr(A,B) returns the Hessenberg controllable form of (A,B).

SEE ALSO
canon, cont_mat, unobs