MATLAB S-Function Basics
An S-function is a computer language description of a
Simulink® block written in MATLAB®, C, C++, or Fortran®. C, C++, and Fortran S-functions are compiled as MEX files using the mex
utility. See Build C MEX Function. As with other
MEX files, S-functions are dynamically linked subroutines that the MATLAB execution engine can automatically load and execute. If you have
Simulink
Coder™, you can generate code for Level-2 MATLAB S-functions if they are inlined. See Inlining S-Functions (Simulink Coder) for
more information.
You can implement S-functions in these ways:
Level-2 MATLAB S-Function: Provides access to a more extensive set of the S-function API and supports code generation.
C MEX S-Function: Enables you to implement your algorithm as a C MEX S-function or write a wrapper S-function to call existing C, C++, or Fortran code.
The S-Function Builder: Provides a graphical user interface that is used to generate new S-functions or incorporate existing C or C++ code without interacting with the S-function API.
The Legacy Code Tool: Provides a set of MATLAB commands that helps you create an S-function to incorporate existing C or C++ code.
Topics
- What Is an S-Function?
Learn how S-functions work.
- S-Function Concepts
Learn key concepts needed to write different types of S-functions.
- S-Function Callback Methods
Implement S-function callback methods.
- S-Function Features and Limitations
Compare and contrast features supported by different types of S-function implementations.