Simulink Initial Conditions - Active/Deactive Input and Initial State from MATLAB Script

2 views (last 30 days)
Dear Community,
I was surfing over the web, but i could not find resources that can help me with the following. Also, I am using MATLAB 2022b and launching Simulink simulations from MATLAB using the command:
SimData = sim('Simulinuk_Model.slx','simulationmode','Normal');
However, i want to active and deactive the following options (Input and Initial state check and uncheck) through a matlab script:
Could someone please be so kind to provide me the example code?
Thank you very much in advance

Accepted Answer

Sandeep Mishra
Sandeep Mishra on 23 Sep 2024
Hi Rodrigo,
To enable or disable parameters in a Simulink model, you can effectively use the 'set_param' function in MATLAB. This function requires the current configuration set of the Simulink model, along with the specific parameter name and the desired value.
You can refer to the following code snippet to check (‘on’) and uncheck (‘off’) the model parameters:
load_system("simulink_model.slx")
% Fetching current configuration set
cs = getActiveConfigSet('simulink_model');
% To uncheck "Load from workspace" for input data
set_param(cs, 'LoadExternalInput', 'off');
% To uncheck "Load from workspace" for input state
set_param(cs, 'LoadInitialState', 'off');
% Save changes and close the model
save_system('simulink_model');
close_system('simulink_model');
For more information, refer to the following MathWorks documentation:
  1. Configure Model from Command Line’ : https://www.mathworks.com/help/releases/R2022b/rtw/ug/configure-model-from-command-line.html
  2. set_paramfunction: https://www.mathworks.com/help/releases/R2022b/simulink/slref/set_param.html
  3. getActiveConfigSetfunction: https://www.mathworks.com/help/releases/R2022b/simulink/slref/getactiveconfigset.html
I hope this helps you in updating the model parameters.
  1 Comment
Rodrigo
Rodrigo on 27 Sep 2024
Hello Sandeep,
Thank you very much for your response, it worked perfectly.
The only aspect that maybe is no so comfortable is that on the command:
load_system("simulink_model.slx")
the argument is a string, whereas on the commands:
cs = getActiveConfigSet('simulink_model');
save_system('simulink_model');
close_system('simulink_model');
the arguments are chars. This dichotomy is not so comfortable when programming.
Regards
rzgi

Sign in to comment.

More Answers (0)

Categories

Find more on Programmatic Model Editing in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!