augstate

Add states to the outputs of a state-space model.

Syntax

sysaug = augstate(sys)

[Aaug, Baug, Caug, Daug] = augstate(A, B, C, D)

Inputs

sys
A state-space or transfer function model.
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.
D
The direct transmission matrix (q x p).

Outputs

sysaug
State-space model with states appended to the outputs.
Aaug
The state matrix (n x n), where n is the number of states.
Baug
The input matrix (n x p), where p is the number of inputs.
Caug
The output matrix ((q+n) x n), where q is the original number of outputs.
Daug
The direct transmission matrix ((q+n) x p).

Examples

Transfer function model as an input:
sys = tf([1],[1 5 6 0]);
sys_ss = ss(sys);
SysAug = augstate(sys)
SysAug = object [
Scaled: 0
TimeUnit: seconds
ts: 0
a: [Matrix] 3 x 3
-5 -3 -0
2 0 0 
0 1 0
b: [Matrix] 3 x 1
0.50000
0.0000
0.0000
c: [Matrix] 4 x 3
0 0 1
1 0 0
0 1 0
0 0 1
d: [Matrix] 4 x 1
0
0
0 
0 
e: [Matrix] 0 x 0
type: StateSpaceModel
]
State-space model as an input:
SysIn = ss(-10,10,20,0)
SysAug = augstate(SysIn) object [
Scaled: 0
TimeUnit: seconds
ts: 0 
a: -10
b: 10
c: [Matrix] 2 x 1
20
10
d: [Matrix] 2 x 1
0
0
e: [Matrix] 0 x 0
type: StateSpaceModel
]

Comments

Increases a 'space-state' system model by adding states to the outputs of the model.

The resulting model returns values of the state as outputs.

The derived closed-loop model can be computed using the augstate and feedback functions.