How can I linearize an already compiled model ?
Mostrar comentarios más antiguos
I would like to improve the performance of my script which use linmod to linearize a simulink model in Matlab 2016b. The linmod function is used many times with different state/input vectors so I think compiling the model only once could improve performance.
The structure of my scipt would be :
feval(model,[],[],[],'lincompile');
for i = 1:numel(x)
out = linmod(model,x{i},u{i});
end
feval(model,[],[],[],'term');
But unfortunalty, it only works with the 'v5' linarization algorithm. With the default block by block algorithm, an error is raised when changing model parameters :
Error using dlinmod>local_push_context (line 293)
Cannot change the 'AnalyticLinearization' parameter while the model 'MyModel' is running
Error in dlinmod (line 181)
have = local_push_context(models, want);
Error in linmod (line 59)
[varargout{1:max(1,nargout)}] = dlinmod(model, Ts, varargin{:}, Args);
Is there any way to make linmod work with a compiled model ? Do you have any other idea to improve performance of many linearizations of the same model ?
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Trimming and Linearization en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!