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

2 次查看(过去 30 天)
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);

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Linearization Basics 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by