Main Content

Conditional Subsystem Initial Output Values

To initialize the output values for a conditional subsystem, initialize Outport blocks within the subsystem by using one of these methods:

  • Inherit initial output values from input signals connected to the Outport blocks.

  • Specify initial output values using Outport block parameters.

Note

If the conditional subsystem is driving a Merge block in the same model, you do not need to specify an initial condition for the subsystem Outport block.

Inherit Initial Output Values from Input Signals

Simulink® attempts to use input signals connected to conditional subsystem Outport blocks to initialize output values. This behavior is seen after setting the Outport block parameter Source of initial output value to Input signal. The same behavior is seen when Source of initial output value is set to Dialog and Initial output is set to [].

Valid input signals for setting initial output values include:

  • Output ports from another conditionally executed subsystem.

  • Output ports from a Model block with a Trigger block with the Trigger type set to function-call.

  • Merge blocks.

  • Constant blocks.

  • IC (initial condition) blocks.

  • Simulink signal objects attached to the signal line connected to the Outport block. If the InitialValue parameter is defined, Simulink uses this value.

  • Stateflow® charts.

  • C Function blocks.

If the input signal is from a block not listed here, the Outport block uses the default initial value of the output data type.

When a conditional subsystem Outport block inherits its initial output value, after the model has been updated or run, an IC badge is displayed next to the Outport block.

triggered subsystem connected to Outport block, with IC badge next to block

You can also determine whether a conditional subsystem Outport block inherits its initial output value by using the Simulink.getOutportInheritsInitialValue function.

Note

If you are using classic initialization mode, selecting Input signal causes an error. To inherit the initial output value from an input signal, set the Source of initial output value parameter to Dialog, set Output when disabled to held, and set Initial output to the empty matrix []. The IC badge is not displayed in classic initialization mode. See Classic Initialization Mode.

Specify Initial Output Values Using Dialog Parameters

Explicitly set the initial output values in cases where you want to:

  • Test the behavior of a model with various initial values.

  • Set initial values to steady state and reduce simulation time.

  • Eliminate having to trace input signals to determine the initial output values.

To specify initial output values:

  1. Open the dialog box for an Outport block within a conditional subsystem.

  2. From the Source of initial output value list, select Dialog.

  3. In the Initial output box, enter the initial value.

Related Topics