Using set_param for multiple variables.

7 次查看(过去 30 天)
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?

采纳的回答

Sebastian Castro
Sebastian Castro 2015-11-4
编辑:Sebastian Castro 2015-11-4
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Model, Block, and Port Callbacks 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by