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

2 views (last 30 days)
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);

Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!