# obsv

Observability of state-space model

## Description

A dynamic system is said to be *observable* if all its states
can be known from the output of the system. `obsv`

computes an observability
matrix from state matrices or from a state-space model. You can use this matrix to determine
observability.

For instance, consider a continuous-time state-space model with `Nx`

states, `Ny`

outputs, and `Nu`

inputs:

$$\begin{array}{l}\dot{x}=Ax+Bu\\ y=Cx+Du\end{array}$$

Here, `x`

, `u`

and `y`

represent the states, inputs and outputs respectively, while `A`

,
`B`

, `C`

and `D`

are the state-space
matrices with the following sizes:

`A`

is an`Nx`

-by-`Nx`

real-valued or complex-valued matrix.`B`

is an`Nx`

-by-`Nu`

real-valued or complex-valued matrix.`C`

is an`Ny`

-by-`Nx`

real-valued or complex-valued matrix.`D`

is an`Ny`

-by-`Nu`

real-valued or complex-valued matrix.

The system is observable if the observability matrix generated by
`obsv`

$$Ob=\left[\begin{array}{c}C\\ CA\\ \begin{array}{l}C{A}^{2}\\ \text{}:\end{array}\\ C{A}^{n-1}\end{array}\right]$$ has full rank, that is, the rank is equal to the number of states in the
state-space model. The observability matrix `Ob`

has `Nx`

rows and `Nxy`

columns. For an example, see Observability of SISO State-Space Model.

## Examples

## Input Arguments

## Output Arguments

## Limitations

`obsv`

is not recommended for control design as computing the rank of the observability matrix is not recommended for observability testing.`Ob`

will be numerically singular for most systems with more than a handful of states. This fact is well-documented under section III in [1].

## References

[1] Paige, C. C. "Properties of
Numerical Algorithms Related to Computing Controllability." *IEEE Transactions on
Automatic Control*. Vol. 26, Number 1, 1981, pp. 130-138.

## Version History

**Introduced before R2006a**