Ob = obsv(sys)
obsv computes the observability
matrix for state-space systems. For an n-by-n matrix
a p-by-n matrix
the observability matrix
with n columns and np rows.
Ob = obsv(sys) calculates
the observability matrix of the state-space model
This syntax is equivalent to executing
Ob = obsv(sys.A,sys.C)
The model is observable if
Ob has full rank n.
Determine if the pair
A = 1 1 4 -2 C = 1 0 0 1
is observable. Type
Ob = obsv(A,C); % Number of unobservable states unob = length(A)-rank(Ob)
These commands produce the following result.
unob = 0
obsv is here for educational purposes and
is not recommended for serious control design. Computing the rank
of the observability matrix is not recommended for observability testing.
be numerically singular for most systems with more than a handful
of states. This fact is well documented in the control literature.
For example, see section III in http://lawww.epfl.ch/webdav/site/la/users/105941/public/NumCompCtrl.pdf