Using set_param for multiple variables.

4 views (last 30 days)
I am trying to update 20 variables in a Simulink model by using set_param in an m script file. Is there any way to do this using a "for i=1:20" subroutine referencing Constant1, Constant2, Constant3, etc, as Constant(i) and with data from Q(i), so I do not have to write 20 separate entries in the set_param command?

Accepted Answer

Sebastian Castro
Sebastian Castro on 4 Nov 2015
Edited: Sebastian Castro on 4 Nov 2015
Sure. sprintf is handy here.
for idx = 1:20
blockName = sprintf('myModel/Constant%i',idx);
blockValue = sprintf('Q(%i)',idx);
set_param(blockName,'Value',blockValue);
end
You can also use the num2str function if that works better.
set_param(blockName,'Value',num2str(Q(idx));
- Sebastian

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!