[Simulink] Call the same Matlab function multiple times in a model
Afficher commentaires plus anciens
Hi,
I have a generic Matlab function describing the behaviour of an battery electrode and I would like to call it in my model with various parameters (one call for the positive electrode, and the other call for the negative electrode calculation).
In order to make my function generic, I use a structure that contains parameters of the positive and negative electrode so that calling it with argument "pos" or "neg" will make the calculations with whether positive or negative parameters. Unfortunately, Simulink sees that as a "non constant parameter" and refuses to operate.
Do you have an idea of a way to call my "unique function" twice in my model: one call for the negative electrode and an other call for the positive one?
Thanks!
1 commentaire
Clément E.
le 5 Juil 2016
Réponses (1)
Walter Roberson
le 4 Juil 2016
0 votes
Use a Constant Block of signal type Boolean feeding into that parameter ?
Boolean because Simulink does not support signals that are type string.
https://www.mathworks.com/matlabcentral/newsreader/view_thread/45166
6 commentaires
Clément E.
le 4 Juil 2016
Modifié(e) : Clément E.
le 4 Juil 2016
Walter Roberson
le 4 Juil 2016
parmnames = {'neg', 'pos'};
Rs.(parmnames{np}+1)
possibly?
Clément E.
le 5 Juil 2016
Walter Roberson
le 5 Juil 2016
Well then
if np == 0
params = Rs.neg;
else
params = Rs.pos;
end
Clément E.
le 5 Juil 2016
Walter Roberson
le 5 Juil 2016
Sorry I do not know about that.
Catégories
En savoir plus sur Simulink Functions dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!