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.


If an IC block has 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.


Initial value

Specify the initial value for the input signal.

Sample time


This parameter is not visible in the block dialog box unless it is explicitly set to a value other than -1. To learn more, see Blocks for Which Sample Time Is Not Recommended.


The following examples show how to use the IC block:


Data Types

Double | Single | Boolean | Base Integer | Fixed-Point | Enumerated

Sample Time

Inherited from driving block

Direct Feedthrough


Multidimensional Signals


Variable-Size Signals


Zero-Crossing Detection


Code Generation


Introduced before R2006a

Was this topic helpful?