Function File: [bool, ncon] = isctrb (sys)
Function File: [bool, ncon] = isctrb (sys, tol)
Function File: [bool, ncon] = isctrb (a, b)
Function File: [bool, ncon] = isctrb (a, b, e)
Function File: [bool, ncon] = isctrb (a, b, [], tol)
Function File: [bool, ncon] = isctrb (a, b, e, tol)

Logical check for system controllability. For numerical reasons, isctrb (sys) should be used instead of rank (ctrb (sys)).

Inputs

sys

LTI model. Descriptor state-space models are possible. If sys is not a state-space model, it is converted to a minimal state-space realization, so beware of pole-zero cancellations which may lead to wrong results!

a

State matrix (n-by-n).

b

Input matrix (n-by-m).

e

Descriptor matrix (n-by-n). If e is empty [] or not specified, an identity matrix is assumed.

tol

Optional roundoff parameter. Default value is 0.

Outputs

bool = 0

System is not controllable.

bool = 1

System is controllable.

ncon

Number of controllable states.

Algorithm
Uses SLICOT AB01OD and TG01HD by courtesy of NICONET e.V.

See also: isobsv.

Package: control