Matlab Coder and S-Functions

I am trying to convert a Matlab function to an S function via the Matlab coder app. I have sucessfully exported the function through the app, but now I am stuck on how to implement the exported C++ code as an S-Function. Is there a way to do this through the S-Function Builder block and what files from the Matlab coder app would need included there?
Thanks!

3 Comments

If you are trying to use the MATLAB Coder generated code within Simulink as a block, there's a much easier approach.
Simply use the MATLAB Function block within Simulink - it generates code (using MATLAB Coder technology under the hood), and automatically creates an compiled s-function that's used within the Simulink model. You don't get access to the S-function - but you probably don't need it, as you already have the code.
You can find more info here:
Thanks! I had tried that implementation, but the problem that I ran into was that I have varaible size input and output matrices, as well as changing sizes within the function, and simulink was complaining about this. Is there a way that I can set these variables to be variable size through the implementation of the Matlab function block, or do I have to do that manually through an S-Function (or any other method)?
Thanks for your help!
Please refer to the following documentation on making the signal variable-size:https://in.mathworks.com/help/simulink/ug/declare-variable-size-inputs-and-outputs.html

Sign in to comment.

Answers (0)

Categories

Find more on Simulink Coder in Help Center and File Exchange

Products

Release

R2018a

Asked:

on 20 Mar 2019

Commented:

on 26 Mar 2019

Community Treasure Hunt

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

Start Hunting!