Performing a model order reduction including initial conditions

4 views (last 30 days)
I've been attempting to reduce the order of a state space model, for example:
sys=ss(A,B,C,D)
sys_reduced=reduce(sys,10)
which works fine, but does anyone know how to calculate the initial conditions for this reduced system (assuming the initial system had initial conditions)
  2 Comments
Richard
Richard on 18 Jul 2012
To answer my own question:
The function [ModelNew,g,T,Ti]=balreal(modelOld) gives a new model which has as many states as the old model BUT they are in decending order of importance. It also gives g which shows how important each state is and T which transforms the old model into the new WHICH CAN ALSO BE USED TO TRANSFORM THE INITIAL CONDITIONS, Ti is the reverse transform
newIntialConditions=T*OldIntialConditions;
modred can then be used to reduce the model order to whatever you want
ReducedModel=modred(BallencedModel,ReduceStatesTo:NumberOfStatesInOldModel);
The initial conditions must of course also be trimmed to the right number of states
Kaustubha Govind
Kaustubha Govind on 18 Jul 2012
Richard: Thanks for coming back to the forum with your answer. Could you perhaps post this as an answer instead of as a comment. Feel free to accept your own answer.

Sign in to comment.

Accepted Answer

Richard
Richard on 26 Feb 2013
To answer my own question:
The function [balancedModel,g,T,Ti]=balreal(modelOld) gives a new model which has as many states as the old model BUT they are in decending order of importance. It also gives g which shows how important each state is and T which transforms the old model into the new WHICH CAN ALSO BE USED TO TRANSFORM THE INITIAL CONDITIONS, Ti is the reverse transform
newIntialConditions=T*OldIntialConditions;
modred can then be used to reduce the model order to whatever you want
ReducedModel=modred(ballancedModel,ReduceStatesTo:NumberOfStatesInOldModel);
The initial conditions must of course also be trimmed to the right number of states

More Answers (0)

Community Treasure Hunt

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

Start Hunting!