Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

# ctrbf

Compute controllability staircase form

## Syntax

```[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C) ctrbf(A,B,C,tol) ```

## Description

If the controllability matrix of (A, B) has rank rn, where n is the size of A, then there exists a similarity transformation such that

`$\begin{array}{ccc}\overline{A}=TA{T}^{T},& \overline{B}=TB,& \overline{C}=C{T}^{T}\end{array}$`

where T is unitary, and the transformed system has a staircase form, in which the uncontrollable modes, if there are any, are in the upper left corner.

`$\begin{array}{ccc}\overline{A}=\left[\begin{array}{cc}{A}_{uc}& 0\\ {A}_{21}& {A}_{c}\end{array}\right],& \overline{B}=\left[\begin{array}{l}0\\ {B}_{c}\end{array}\right],& \overline{C}=\left[{C}_{nc}{C}_{c}\right]\end{array}$`

where (Ac, Bc) is controllable, all eigenvalues of Auc are uncontrollable, and ${C}_{c}{\left(sI-{A}_{c}\right)}^{-1}{B}_{c}=C{\left(sI-A\right)}^{-1}B$.

`[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C)` decomposes the state-space system represented by `A`, `B`, and `C` into the controllability staircase form, `Abar`, `Bbar`, and `Cbar`, described above. `T` is the similarity transformation matrix and `k` is a vector of length n, where n is the order of the system represented by `A`. Each entry of `k` represents the number of controllable states factored out during each step of the transformation matrix calculation. The number of nonzero elements in `k` indicates how many iterations were necessary to calculate `T`, and `sum(k)` is the number of states in Ac, the controllable portion of `Abar`.

`ctrbf(A,B,C,tol)` uses the tolerance `tol` when calculating the controllable/uncontrollable subspaces. When the tolerance is not specified, it defaults to `10*n*norm(A,1)*eps`.

## Examples

Compute the controllability staircase form for

```A = 1 1 4 -2 B = 1 -1 1 -1 C = 1 0 0 1 ```

and locate the uncontrollable mode.

```[Abar,Bbar,Cbar,T,k]=ctrbf(A,B,C) Abar = -3.0000 0 -3.0000 2.0000 Bbar = 0.0000 0.0000 1.4142 -1.4142 Cbar = -0.7071 0.7071 0.7071 0.7071 T = -0.7071 0.7071 0.7071 0.7071 k = 1 0 ```

The decomposed system `Abar` shows an uncontrollable mode located at -3 and a controllable mode located at 2.

## Algorithms

`ctrbf` implements the Staircase Algorithm of [1].

## References

[1] Rosenbrock, M.M., State-Space and Multivariable Theory, John Wiley, 1970.

## See Also

#### Learn how to automatically tune PID controller gains

Download code examples