# Reducing order of a system

7 views (last 30 days)

Show older comments

##### 0 Comments

### Accepted Answer

Jon
on 2 Feb 2024

The interpretation of the system input and output variables should remain the same. It is only the internal states that change. If you are directly using one of the states in the original model as if it were a system output, you should instead assign an output to this state, and then do your balanced reduction. The new system C and D matrices will compute the correct combination of the new systems original states, to produce an output that is equivalent to the state you were interested in in the original system.

So for example if you had a system with 6 states and were interested in the preserving the interpretation "meaning" of the third state in your system, you would add a row to your C and D matrices, as

Caug = [C;[0 0 1 0 0 0]]

Daug = [D;[0 0 0 0 0 0]]

And then use Caug, and Daug in your system which has its order reduced

##### 3 Comments

Jon
on 2 Feb 2024

So for example

% Example system

A = [-1 0.2 0.1;0 -3 -0.15;0.1 0.4 -8]

B = [1; 0.4; -2]

C = [0.5 0.2 1.8]

D = [0.6]

tFinal = 6;

% Make original state space system

sys = ss(A,B,C,D)

% Provide augmented second output to produce state x2

Caug = [C;[0 1 0]];

Daug = 0;

sysAug = ss(A,B,Caug,Daug);

% Reduce the order of the system

sysRed = balred(sysAug,2);

% Look at step responses

[y,t,x] = step(sys,tFinal);

[yAug,tAug] = step(sysAug,tFinal);

[yRed,tRed] = step(sysRed,tFinal);

figure

plot(t,x(:,2),tAug,yAug(:,2))

xlabel('time [s]')

ylabel('state and output values')

legend('x_2','yAug_2','Location','southeast')

title('Showing that x_2 and yAug_2 are the same')

figure

plot(t,x(:,2),tRed,yRed(:,2))

xlabel('time [s]')

ylabel('state and output values')

legend('original x_2','yRed_2','Location','southeast')

title('Output yRed_2 approximates behavior of x_2 in original system')

### More Answers (0)

### See Also

### Categories

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!