yields the observable subsystem of the system sys.
ObservableDecomposition[sys,{z1,…}]
specifies the new coordinates zi.


ObservableDecomposition
yields the observable subsystem of the system sys.
ObservableDecomposition[sys,{z1,…}]
specifies the new coordinates zi.
Details and Options

- ObservableDecomposition gives {p,osys}, where p is the transformation and osys is the observable subsystem.
- The system sys can be a standard or descriptor StateSpaceModel or AffineStateSpaceModel.
- The observable subsystem is given by StateSpaceTransform[sys,p].
- ObservableDecomposition accepts a Method option. The following settings can be specified:
-
Automatic automatically choose the method "Matrix" use the observability matrix "Distribution" use the observability distribution
Examples
open all close allScope (4)
Applications (7)
Linear Systems (4)
Construct the Kalman observable decomposition:
ObservableDecomposition picks out the observable subsystem only:
Kalman observable decomposition puts the observable subsystem first and keeps the rest:
Compute the dimension of the observable subspace:
The observable subspace is the range of p, i.e. the column dimension:
Find the observable subspace for the system below and show what state trajectories you can tell apart from observing the output only:
The system is unobservable, so only a subspace is observable from output:
The range of the transformation p gives the observable subspace:
Simulate trajectories whose initial value projects to a single point on the observable subspace:
From observing the output, all these trajectories look identical:
Determine states that can be estimated using available measurements and design an estimator:

Only the position of mass is measured, and so the system is not completely observable:
The states associated with zero rows in the transformation matrix cannot be observed:
An estimator can be designed to estimate any combination of the first four states:
Compute the response of for a set of input signals and initial conditions:
Affine Systems (3)
Construct the triangular observability decomposition:
ObservableDecomposition picks out the observable subsystem only:
Triangular observability decomposition puts the observable subsystem first and keeps the rest:
Compute the dimension of the observable subspace:
The dimension can be obtained from the inverse transformation :
Find the subspaces whose outputs are indistinguishable:
The system is unobservable, so only a subspace is observable from output:
The indistinguishable subspace:
The trajectories of the outputs from the two points are the same:
Properties & Relations (2)
The transformation matrix p selects the observable subsystem using StateSpaceTransform:
For affine systems, the transformation rules select the observable subsystem:
Related Guides
Text
Wolfram Research (2010), ObservableDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/ObservableDecomposition.html (updated 2014).
CMS
Wolfram Language. 2010. "ObservableDecomposition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/ObservableDecomposition.html.
APA
Wolfram Language. (2010). ObservableDecomposition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ObservableDecomposition.html
BibTeX
@misc{reference.wolfram_2025_observabledecomposition, author="Wolfram Research", title="{ObservableDecomposition}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/ObservableDecomposition.html}", note=[Accessed: 18-August-2025]}
BibLaTeX
@online{reference.wolfram_2025_observabledecomposition, organization={Wolfram Research}, title={ObservableDecomposition}, year={2014}, url={https://reference.wolfram.com/language/ref/ObservableDecomposition.html}, note=[Accessed: 18-August-2025]}