MATLAB Answers


Supress simulink from evaluating initialisation commands while editing

Asked by Matthias Oe on 30 Aug 2018
Latest activity Commented on by Matthias Oe on 31 Aug 2018
Hello Community,
I have a problem while editing my rather complex simulink model. I have some masked subsystems which read indexed parameters in their initialisation commands. In the mask I define the index with an edit field. Furthermore all parameters are definded in an initialisation script and the simulation is also started by a script where all variables are assigned directly to the model workspace with assignin.
The very annoying problem is, that if I change the index in the mask of the subsystem I get the error
Initialization commands cannot be evaluated.
Caused by:
Index exceeds array bounds.
When I start my initialisation script and set a debug point after the assignin command I can change the index variable without any errors.
Now I am wondering whether there is a way to supress simulink from evaluating my initialisation commands while I am editing my model and do this only on simulation start instead.


Sign in to comment.

1 Answer

Answer by TAB
on 31 Aug 2018
 Accepted Answer

You can check model simulation status on mask initialization to decide whether to run your command or not.
if ~strcmpi(get_param(bdroot(gcbh), 'SimulationStatus'), 'stopped')
Possible values of Simulation Status are:
{'stopped'} | 'updating' | 'initializing' | 'running' | 'paused' | 'terminating' | 'external'

  1 Comment

Works out of the box. Thank you very much!

Sign in to comment.