MATLAB: Does the Simulink block mask initialization run twice

simulink

If you are debugging a mask initialization, use the keyboard function to stop the code inside the Simulink block mask initialization. You'll notice that the mask is always run twice when a change is made to the mask. Why does the mask run twice?

Best Answer

The initialization runs twice if "Icons & Ports"-->"Run initialization" is set to "On" or "Analyze" (assuming MATLAB detects the initialization needs to run). When the initialization runs twice, the order of execution seems to be:
  1. Run "Initialization"
  2. Run "Icons & Ports"
  3. Run "Initialization"
Related Question