Linearizing with trim from command line: OP seems to equal initial conditions

1 Ansicht (letzte 30 Tage)
I have a model with 259 states (integrators). If I trim and linearize the model via command line and require all states to be at steady state (dx = 0), then it works perfectly fine and I get a linsys with a system matrix A [259 x 259]. However, if I only require the last state to be steady (which might happen earlier then when I wait for all states to become steady), it runs just fine, however I get a 258x258 Matrix and it seems to have taken the initial condition as operating point. Anyone got a clue why this might happen?
Here is a code snippet of the commands I am using, with a predefined string for 'mdl'.
opspec = operspec(mdl);
for i = 1:length(opspec.States)
len = opspec.States(i).Nx;
opspec.States(i).SteadyState = boolean(zeros(1,len));
end
opspec.States(end).SteadyState = boolean([1 1]);
op = findop(mdl,opspec);
[mynewlinsys,linop] = linearize(mdl,io,op);

Antworten (0)

Kategorien

Mehr zu Linearization Basics finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by