MATLAB Answers

How to use varargout function with matlab coder?

6 views (last 30 days)
Hi, i'm trying to convert my Matlab script into C with Matlab Coder app but i'm having a problem, when app get into the "Check for Run-Time Issue" window it tells me: Top-level function cannot have varargout.
I'm not a programer so i have only basic knowledge. How can i procede to overcome this issue?
Thks!

  0 Comments

Sign in to comment.

Accepted Answer

Ryan Livingston
Ryan Livingston on 20 Nov 2018
Starting in MATLAB R2017b, MATLAB Coder supports varargout in entry-point functions. The documentation:
covers this in more detail.
In earlier releases, you can have a wrapper with explicit output arguments. So if you are trying to generate code for
function varargout = entryPoint(a,b,c)
...
end
you can instead use
function [out1,out2,out3] = entryPointWrapper(a,b,c)
[out1,out2,out3] = entryPoint(a,b,c);
end
and generate code from entryPointWrapper.

  3 Comments

Jucimar Carpe
Jucimar Carpe on 20 Nov 2018
Hi Ryan, first of all, thank you for your help. I'm sorry but i didn't get it how do i should put in my code.
I'm currently using the Matlab 2015 version, so i will use the second option you gave me.
If i understood, the script you send me, i should use the second one you wrote. I'hva e many inputs and many outputs even 3 fugures. How should do it?
Attached is my currently script.
Thanks...
Ryan Livingston
Ryan Livingston on 20 Nov 2018
Yep, the second option, using a wrapper function without varargout, is the best way forward.
That said, looking at your script since there is a lot of plotting and graphics, MATLAB Coder isn't the best tool. As Kojiro Saito and Fred Smith and said in your other question:
MATLAB Compiler would be a better tool for your application because of the plotting/app code.
Jucimar Carpe
Jucimar Carpe on 21 Nov 2018
Hi Ryan, i already done by matlab compiler and created my GUI interface but the i was trying to codify do C, but it's ok. Thanks for the help!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!