[Simulink] Call the same Matlab function multiple times in a model
显示 更早的评论
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 个)
Walter Roberson
2016-7-4
0 个投票
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 个评论
Clément E.
2016-7-4
编辑:Clément E.
2016-7-4
Walter Roberson
2016-7-4
parmnames = {'neg', 'pos'};
Rs.(parmnames{np}+1)
possibly?
Clément E.
2016-7-5
Walter Roberson
2016-7-5
Well then
if np == 0
params = Rs.neg;
else
params = Rs.pos;
end
Clément E.
2016-7-5
Walter Roberson
2016-7-5
Sorry I do not know about that.
类别
在 帮助中心 和 File Exchange 中查找有关 Simulink Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!