Performing a model order reduction including initial conditions

4 次查看(过去 30 天)
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 个评论
Richard
Richard 2012-7-18
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 2012-7-18
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.

请先登录,再进行评论。

采纳的回答

Richard
Richard 2013-2-26
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dynamic System Models 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by