This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

ControllableModelQ

ControllableModelQ[ss]
yields True if the StateSpaceModel object ss is controllable, and False otherwise.
  • A state-space model is said to be controllable if, for any initial time and any initial state, there exists some control input that drives the state vector to any other state in finite time.
"Matrix"tests if the controllability matrix has full rank
"Gramian"tests if the controllability Gramian is positive definite
"PBH"uses the Popov-Belevitch-Hautus rank test
  • With the default setting Method->Automatic, the methods are evaluated in turn.
A controllable system:
An uncontrollable system:
A controllable system:
In[1]:=
Click for copyable input
Out[1]=
 
An uncontrollable system:
In[1]:=
Click for copyable input
Out[1]=
Test if a continuous-time system is controllable:
Test if a discrete-time system is controllable:
An uncontrollable system:
Verify controllability using the controllability matrix method:
Use the controllability Gramian:
Use the PBH rank test:
Controllability may not imply output controllability and vice versa:
The Gramian method is not reliable for systems that are not asymptotically stable:
The system contains an eigenvalue in the right half of the complex plane, which indicates instability for continuous-time systems:
New in 8