How to efficiently linearize a Simulink model at every time step?
Afficher commentaires plus anciens
Dear colleagues,
I have a Simulink model of a non-linear system. I need a linearized representation (A,B,C,D matrices) of the system at every time step of the simulation. I did this:
model_name = 'lintest';
% prepare input
t = (0 : 0.1 : 10).';
u = sin(t);
% run simulation
sim(model_name);
% obtain linearized representation at every time step
lo = linoptions('SampleTime', 0);
tic;
[l, op] = linearize(model_name, tout, lo);
toc;
The "l" variable contains what I need. However, the call to "linearize" takes too long -- about 1.7 seconds for 51 time steps. The model I used for testing is very simple -- it is an Integrator block, a Product block, and a MATLAB Function block with y = u.^2 (see the attached .mdl file).
Is there a smarter way of doing this?
Best regards,
Mikhail
Réponses (0)
Catégories
En savoir plus sur Linearization Basics dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!