User-Defined Functions
Custom function blocks such as MATLAB Function, MATLAB System, Simulink
						Function, and Initialize Function
Use blocks from the User-Defined Functions library to extend Simulink® modeling functionality by creating new types of blocks. You can implement block algorithms using MATLAB®, C/C++, and Fortran® code.
Blocks
| C Caller | Integrate C code in Simulink | 
| C Function | Integrate and call external C/C++ code from a Simulink model | 
| Fcn | Apply specified expression to input | 
| Function Caller | Call a Simulink function | 
| Initialize Function | Execute subsystem on model initialize event | 
| Interpreted MATLAB Function | (To be removed) Apply MATLAB function or expression to input | 
| Level-2 MATLAB S-Function | Use Level-2 MATLAB S-function in model | 
| MATLAB Function | Include MATLAB code in Simulink models | 
| MATLAB System | Include System object in model | 
| Python Code | Integrate native Python code into a Simulink model (Since R2025a) | 
| Reinitialize Function | Execute subsystem on model or subsystem reinitialize event (Since R2022a) | 
| Reset Function | Execute subsystem on model reset event | 
| S-Function | Include S-function in model | 
| S-Function Builder | Integrate C or C++ code to create S-functions | 
| Simulink Function | Define a function using Simulink blocks | 
| Terminate Function | Execute subsystem on model terminate event | 
Related Information
- Call Legacy Lookup Table Functions Using C Function Block
- Modify States of a C Function Block Using Persistent Symbols
- Call C++ Class Methods Using C-Style Wrapper Function from C Function Block
- Call C++ Class Methods Directly from a C Function Block
- Common Uses of the Initialize Function Block
- Working with the Reinitialize Function Block
- Initialize, Reset, and Terminate State of Simulink Block