How to efficiently linearize a Simulink model at every time step?

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

Antworten (0)

Kategorien

Produkte

Gefragt:

am 21 Jan. 2014

Bearbeitet:

am 22 Jan. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by