How can I linearize an already compiled model ?
Afficher commentaires plus anciens
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 ?
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Trimming and Linearization 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!