Set initial value of signal


Signal Attributes


The IC block sets the initial condition of the signal at its input port, for example, the value of the signal at the simulation start time (tstart). The block does this by outputting the specified initial condition when you start the simulation, regardless of the actual value of the input signal. Thereafter, the block outputs the actual value of the input signal.

    Note:   If an IC block inherits or specifies a nonzero sample time offset (toffset), the IC block outputs its initial value at time t,

    t = n * tperiod + toffset

    where n is the smallest integer such that t ≥ tstart.

    That is, the IC block outputs its initial value the first time blocks with sample time [tperiod, toffset] execute, which can be after tstart.

The IC block is useful for providing an initial guess for the algebraic state variables in a loop. For more information, see Algebraic Loops.

Data Type Support

The IC block accepts and outputs signals of any Simulink® built-in and fixed-point data type. The Initial value parameter accepts any built-in data type that Simulink supports. For more information, see Data Types Supported by Simulink in the Simulink documentation.

Parameters and Dialog Box

Initial value

Specify the initial value for the input signal.

Sample time (-1 for inherited)

Specify the time interval between samples. To inherit the sample time, set this parameter to -1. See Specify Sample Time in the online documentation for more information.


The following examples show how to use the IC block:


Direct Feedthrough


Sample Time

Specified in the Sample time parameter

Scalar Expansion

Yes, of Initial value parameter only





Zero-Crossing Detection


Was this topic helpful?