S-Function Builder

Create S-function from C code that you provide


User-Defined Functions


The S-Function Builder block creates a C MEX S-function from specifications and C source code that you provide. See Build S-Functions Automatically for detailed instructions on using the S-Function Builder block to generate an S-function.

Instances of the S-Function Builder block also serve as wrappers for generated S-functions in Simulink® models. When simulating a model containing instances of an S-Function Builder block, Simulink software invokes the generated S-function associated with each instance to compute the instance's output at each time step.


The S-Function Builder block does not support masking. However, you can mask a Subsystem block that contains an S-Function Builder block. For more information, see Dynamic Masked Subsystem.

Data Type Support

The S-Function Builder can accept and output complex, 1-D, or 2-D signals and nonvirtual buses. For each of these cases, the signals must have a data type that Simulink supports.

For more information, see Data Types Supported by Simulink in the Simulink documentation.


See S-Function Builder Dialog Box in the online documentation for information on using the S-Function Builder block's parameter dialog box.


Data Types

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

Multidimensional Signals


Variable-Size Signals


Code Generation


Introduced before R2006a

Was this topic helpful?