Create MATLAB S-Functions

Create custom blocks with Level-2 MATLAB® S-functions

MATLAB S-function API enables users to use MATLAB language to create custom blocks with the capability of handling multiple input and output ports as well as signals produced by a Simulink® model, including matrix and frame signals of any data type.

Blocks

S-FunctionInclude S-function in model

Methods

expand all

setupSpecify the number of inputs, outputs, states, parameters, and other characteristics of the MATLAB S-function
OutputsCompute the signals that this MATLAB S-function block emits
TerminatePerform any actions required at termination of the simulation
CheckParametersCheck the validity of a MATLAB S-Function's parameters
DerivativesCompute a MATLAB S-Function's derivatives
DisableRespond to disabling of an enabled system containing this MATLAB S-Function block
EnableRespond to enabling of an enabled system containing this MATLAB S-Function block
GetOperatingPointReturn MATLAB S-function's simulation operating point as a MATLAB data structure
InitializeConditionsInitialize the state vectors of this MATLAB S-function
PostPropagationSetupSpecify the sizes of the work vectors and create the run-time parameters required by this MATLAB S-function
ProcessParametersProcess the MATLAB S-function's parameters
ProjectionPerturb the solver's solution of a system's states to better satisfy time-invariant solution relationships
SetAllowConstantSampleTimeSpecify sample time behavior and tunability for S-function blocks with port-based sample times
SetInputPortComplexSignalSet the numeric types (real, complex, or inherited) of the signals accepted by an input port
SetInputPortDataTypeSet the data types of the signals accepted by an input port
SetInputPortDimensionsSet the dimensions of the signals accepted by an input port
SetInputPortDimensionsModePropagate the dimensions mode
SetInputPortSampleTimeSet the sample time of an input port that inherits its sample time from the port to which it is connected
SetOutputPortComplexSignalSet the numeric types (real, complex, or inherited) of the signals accepted by an output port
SetOutputPortDataTypeSet the data type of the signals emitted by an output port
SetOutputPortDimensionsSet the dimensions of the signals accepted by an output port
SetOutputPortSampleTimeSet the sample time of an output port that inherits its sample time from the port to which it is connected
SetOperatingPointRestore operating point of MATLAB S-function
SimStatusChangeRespond to a pause or resumption of the simulation of the model that contains this MATLAB S-function
StartInitialize the state vectors of this MATLAB S-function
UpdateUpdate a block's states
WriteRTWGenerate code generation data for the MATLAB S-function

Classes

Simulink.MSFcnRunTimeBlockGet run-time information about Level-2 MATLAB S-function block
Simulink.RunTimeBlockAllow Level-2 MATLAB S-function and other MATLAB programs to get information about block while simulation is running
Simulink.BlockDataProvide run-time information about block-related data, such as block parameters
Simulink.BlockPortDataDescribe block input or output port
Simulink.BlockCompDworkDataProvide postcompilation information about block's DWork vector
Simulink.BlockCompInputPortDataProvide postcompilation information about block input port
Simulink.BlockCompOutputPortDataProvide postcompilation information about block output port
Simulink.BlockPreCompInputPortDataProvide precompilation information about block input port
Simulink.BlockPreCompOutputPortDataProvide precompilation information about block output port

Topics

Write Level-2 MATLAB S-Functions

Explains how to create MATLAB S-functions based on the current Level-2 MATLAB S-function application programming interface (API).

S-Function Examples

Create various types of S-functions and S-function features.

Maintain Level-1 MATLAB S-Functions

Provides information on maintaining Level-1 MATLAB S-functions developed with earlier versions of the Simulink software.