[Simulink] Call the same Matlab function multiple times in a model
Mostra commenti meno recenti
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 Commento
Clément E.
il 5 Lug 2016
Risposte (1)
Walter Roberson
il 4 Lug 2016
0 voti
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 Commenti
Clément E.
il 4 Lug 2016
Modificato: Clément E.
il 4 Lug 2016
Walter Roberson
il 4 Lug 2016
parmnames = {'neg', 'pos'};
Rs.(parmnames{np}+1)
possibly?
Clément E.
il 5 Lug 2016
Walter Roberson
il 5 Lug 2016
Well then
if np == 0
params = Rs.neg;
else
params = Rs.pos;
end
Clément E.
il 5 Lug 2016
Walter Roberson
il 5 Lug 2016
Sorry I do not know about that.
Categorie
Scopri di più su Simulink Functions in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!