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

1 回表示 (過去 30 日間)
Felix Schönig
Felix Schönig 2021 年 9 月 21 日
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 Center および File ExchangeOperating Points についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by