Vectorized set_param
Are you like me and finding yourself wanting to change the parameters of multiple Simulink objects at once? Do you run find_system only to then take the output and use it in a for loop that calls set_param? Are you tired of your for loop crashing because a block name has a carriage return or an apostrophe? Well if this is you, I have a simple utility that can make life easier.
SET_PARAMS(OBJECTS,'PARAMETER1',VALUE1,'PARAMETER2',VALUE2,...) is a vectorized form of SET_PARAM that works with cellstrs. It sets parameters within OBJECTS to the specified values. This enables the user to change multiple objects in a single call, work directly with output from find_system, and easily work with blocks that contain carriage returns and/or apostrophes.
Examples:
set_params({'model/block1' 'model/subsystem1/block2'},'FontName','Courier New')
will change block1 and block2 to use Courier New as their font
set_params(find_system(bdroot,'BlockType','Scope'),'BackgroundColor','lightBlue')
will set the background color of all Scopes in the current Simulink model to light blue.
Cite As
Will Campbell (2024). Vectorized set_param (https://www.mathworks.com/matlabcentral/fileexchange/26271-vectorized-set_param), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.