Matlab Coder for .m archives that call another .m archives

1 view (last 30 days)
David López de la Cruz
David López de la Cruz on 10 May 2019
I want to generate C code from a .m archive from MATLAB, but this archive calls different .m archives from its code, such as another script or a function. How can I generate portable and readable C code so that the complete .m archive could run correctly?
On the other hand, I would like to know which kind of code would run faster my .m archive. Do I use C code, a MEX function or an executable?

Answers (1)

Pruthvi Muppavarapu
Pruthvi Muppavarapu on 14 May 2019
Hi David,
That should not be a problem. When you ask to process your top-level function, the coder will automatically find the routines that are called, and the routines that they call, and so on. So you should be able to successfully generate C code using the top-level .m archive.
To answer to your second query, MEX functions could be used for accelerated versions of your .m archives. You might use MEX functions for faster execution of your .m files.
Hope this helps.
  1 Comment
David López de la Cruz
David López de la Cruz on 22 May 2019
Hello again Pruthvi,
I finally did a MEX functions of a .m one, and when execute the process I can't see the difference in terms of time. What I have changed in the code is calling the MEX function name instead of the .m function, but it hasn't fasten the execution at all, even when the function inside this MEX archive is the slowest of my process (An ode45 command).
What happened to this? Shouldn't this change accelerate the execution?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!