MATLAB: Performing a model order reduction including initial conditions

controlControl System ToolboxMATLABrobust controlRobust Control Toolboxstate-spacesystem reduction

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)

Best Answer

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