obsvf

Calculates the observability staircase form.

Syntax

[ABAR, BBAR, CBAR, T, K] = obsvf(A, B, C)

[ABAR, BBAR, CBAR, T, K] = obsvf(A, B, C, TOL)

Inputs

A
The state matrix (n x n), where n is the number of states.
B
The input matrix (n x p), where p is the number of inputs.
C
The output matrix (q x n), where q is the number of outputs.
TOL
A scalar real (tolerance). By default, 10 * n * norm(a, 1) * eps().

Outputs

ABAR
The observability staircase state matrix.
BBAR
The observability staircase input matrix.
CBAR
The observability staircase output matrix.
T
The similarity transform matrix.
K
A vector containing the number of observable states.

Examples

Observability staircase form of state matrices:
A = [5     4;
     4    -2];

B = [1    -2;
     1    -2];

C = [1.5     0;
     0     1.5];
         
[Abar, Bbar, Cbar, T, k] = obsvf(A, B, C)
Abar = [Matrix] 2 x 2
5   4
4  -2
Bbar = [Matrix] 2 x 2
1  -2
1  -2
Cbar = [Matrix] 2 x 2
1.50000  0.00000
0.00000  1.50000
T = [Matrix] 2 x 2
1  0
0  1
k = [Matrix] 1 x 2
2  0
Observability staircase form of transfer function model:
sys_tf = tf([1],[2 3 1]);
sys = ss(sys_tf);
[Abar, Bbar, Cbar, T, k] = obsvf(sys.a, sys.b, sys.c)
Abar = [Matrix] 2 x 2
-1.50000  -0.50000
 1.00000   0.00000
Bbar = [Matrix] 2 x 1
-0.50000
 0.00000
Cbar = [Matrix] 1 x 2
0  -1
T = [Matrix] 2 x 2
-1   0
 0  -1
k = [Matrix] 1 x 2
1  1

Comments

[ABAR, BBAR, CBAR, T, K] = obsvf(A, B, C) computes the observability staircase form of A, B, C.