Troubleshooting an embedded MATLAB function in a compiled Simulink model

3 views (last 30 days)
Some background on my setup:
MATLAB version: 2010a (yes, I must be on this version because I am compiling for a 32-bit Linux target)
Simulink model with only an embedded MATLAB Function
The enbedded MATLAB function calls some other custom functions (all functions are on the MATLAB path)
The embedded MATLAB function also uses a parameter that is a structure. This structure is loaded into the base workspace.
Compilation uses a custom tlc file for the target and is done with rtwbuild.
Now this issue. I can run this model in Simulink and it works as expected. I then compile the model and that completes successfully. However, once I run the compiled model, I am not getting valid outputs from the embedded MATLAB function. Is there a good way to debug this in the compiled model? Are there some key things to check when using an embedded MATLAB function in a compiled model?
Matt Butts
Matt Butts on 25 Sep 2020
Thanks Peter. I started down this path yesterday as well.
The structure is manually loaded into the workspace before I open the model. The structure is also defined as a parameter in the model.
I then tried both of your suggestions as well.
  1. I compiled the model with very simple arithmetic operations on the inputs in the embedded function. This worked as expected.
  2. I compiled the model with simple arithmetic operations and included values from the parameter structure (to verify the structure was getting included). This worked as expected.
So I know that a simple embedded function works, and I know that the structure is being read and included in the compiled model.
I am left needing to debug the more complex embedded function. For this, my first thought was to make sure it was calling all of the dependent functions, so I edited each dependent function to just return some constant values and exit. This compiled and worked as expected, so all dependencies are being included and called properly.
So finally, how do I debug code logic that behaves differently when compiled than it does when in native Simulink?

Sign in to comment.

Answers (0)


Find more on Simulink Coder in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by