Can I use MATLAB classes in Simulink?

100 views (last 30 days)
I am trying to define a class in a MATLAB ('.m') file. Then, I am using an instance of one of that class in a Simulink "MATLAB function" block to execute one of the methods of the class. However, I am having trouble launching it in Simulink. 
How can I use classes written in MATLAB in Simulink? Ultimately, I would like to generate code from my model.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 6 Feb 2023
Edited: MathWorks Support Team on 6 Feb 2023
You can use MATLAB classes in Simulink for code generation through MATLAB Function block.
Not all MATLAB functions are supported for code generation. Refer to this page for a list of supported functions: https://www.mathworks.com/help/simulink/ug/functions-and-objects-supported-for-cc-code-generation.html
In addition, this page discusses best practices for defining variables for code generation: https://www.mathworks.com/help/releases/R2022b/simulink/ug/best-practices-for-defining-variables-for-c-c-code-generation.html
The MATLAB Function documentation page include links to various examples and useful articles that explains the limitations and best practices for writing MATLAB code for code generation:
These example uses MATLAB system object class in Simulink:
  2 Comments
Walter Roberson
Walter Roberson on 30 Jan 2023
https://www.mathworks.com/help/simulink/slref/matlabfunction.html
https://www.mathworks.com/help/simulink/ug/define-system-object-for-use-in-simulink.html
Walter Roberson
Walter Roberson on 6 Feb 2023
URL-hacking of the help information does not always work, but it is a good first step.

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Coder in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!