[Scilab-users] varargout doubt

Rafael Guerra jrafaelbguerra at hotmail.com
Tue Nov 8 13:39:55 CET 2016


Hello Shamika,

I order to output a variable number of arguments from a function, one solution is to do define your output as a list as follows:

function varargout_list = callOct(fname,varargin)
    …
    varargout_list = list(1:n);   // n= number of output variables
    for i=1:n
       varargout_list(i) = …
    …
    end
    …
endfunction

Regards,
Rafael


From: users [mailto:users-bounces at lists.scilab.org] On Behalf Of Shamika Mohanan
Sent: Tuesday, November 08, 2016 6:47 AM
To: users at lists.scilab.org
Subject: [Scilab-users] varargout doubt

Hello,
I have a function defined as such

function varargout= callOct(fname,varargin)
    varargout=list(callOctave(fname,varargin))
endfunction
When I call this function with [c,d]=callOct("butter",8,0.1), I get the error
!--error 21
Invalid index.
If I call the function as c=callOct("butter",8,0.1), I get no error. varargout stores only one o/p argument even though callOctave returns two arguments.
If I remove varargout like this

function  [b,a]=callOct(fname,varargin)
    [b,a]=callOctave(fname,varargin)
endfunction
Now when I call this function with [c,d]=callOct("butter",8,0.1), I get no error.
I need callOct function to work with any number of output arguments and so I need to use varargout. How do I get the function to work with varargout?
Regards,
Shamika
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20161108/4d73b856/attachment.htm>


More information about the users mailing list