# ControllableDecomposition

yields the controllable subsystem of the state-space model sys.

ControllableDecomposition[sys,{z1,}]

specifies the new state variables zi.

# Examples

open allclose all

## Basic Examples(1)

Find the controllable subsystem and its transformation:

## Scope(4)

The controllable subsystem of a controllable system is the complete system:

The controllable subsystem of a partially controllable continuous-time system:

The controllable subsystem of a descriptor system:

The controllable subsystem of an affine system:

Specify the new state variables:

## Applications(7)

### Linear Systems(4)

Construct the Kalman controllable decomposition:

ControllableDecomposition picks out the controllable subsystem only:

Kalman controllable decomposition puts the controllable subsystem first and keeps the rest:

Compute the dimension of the controllable subspace:

The controllable subspace is the range of p, i.e. the column dimension:

Find the controllable subspace for the system below and explain the possible state trajectories that can occur in the system:

The system is uncontrollable, so only a subspace is controllable:

The range of the transformation matrix p gives the controllable subspace:

Trajectories can be controlled in this subspace:

But you cannot control the drift between parallel copies of the controllable subspace:

Design a controller for a system that is not completely controllable, by building a controller for the controllable subsystem:

Since a force applied only on the first mass , the second mass is not controllable:

Design a controller using the controllable subsystem:

Use the transformation to obtain the controller for the original system:

The simulation shows controlled as well as oscillatory modes in the closed-loop system:

Compute the modes of the closed-loop system:

The oscillatory modes are the uncontrollable ones:

### Affine Systems(3)

Construct the triangular controllability decomposition:

ControllableDecomposition picks out the controllable subsystem only:

Triangular controllability decomposition puts the controllable subsystem first and keeps the rest:

Compute the dimension of the controllable subspace:

The dimension can be obtained from the inverse transformation :

The controllable decomposition gives the reachable subspace and subsystem. This can be used to visualize the motion of the system from one subspace to another:

The generic reachable subspace:

A specific reachable subspace:

Select several initial points on this surface:

All these initial points end up at exactly the same final surface because that motion is not controllable:

A 3D plot shows the motion from the initial surface to the final one:

## Properties & Relations(2)

The transformation matrix p selects the controllable subsystem using StateSpaceTransform:

For affine systems, the transformation rules select the controllable subsystem:

Wolfram Research (2010), ControllableDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/ControllableDecomposition.html (updated 2014).

#### Text

Wolfram Research (2010), ControllableDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/ControllableDecomposition.html (updated 2014).

#### CMS

Wolfram Language. 2010. "ControllableDecomposition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/ControllableDecomposition.html.

#### APA

Wolfram Language. (2010). ControllableDecomposition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ControllableDecomposition.html

#### BibTeX

@misc{reference.wolfram_2024_controllabledecomposition, author="Wolfram Research", title="{ControllableDecomposition}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/ControllableDecomposition.html}", note=[Accessed: 14-September-2024 ]}

#### BibLaTeX

@online{reference.wolfram_2024_controllabledecomposition, organization={Wolfram Research}, title={ControllableDecomposition}, year={2014}, url={https://reference.wolfram.com/language/ref/ControllableDecomposition.html}, note=[Accessed: 14-September-2024 ]}