FreeMat
|
Section: Functions and Scripts
FreeMat functions can return a variable number of output arguments by setting the last argument in the argument list to varargout
. This special keyword indicates that the number of return values is variable. The general syntax for a function that returns a variable number of outputs is
function [out_1,...,out_M,varargout] = fname(in_1,...,in_M)
The function is responsible for ensuring that varargout
is a cell array that contains the values to assign to the outputs beyond out_M
. Generally, variable output functions use nargout
to figure out how many outputs have been requested.
This is a function that returns a varying number of values depending on the value of the argument.
varoutfunc.m
function [varargout] = varoutfunc switch(nargout) case 1 varargout = {'one of one'}; case 2 varargout = {'one of two','two of two'}; case 3 varargout = {'one of three','two of three','three of three'}; end
Here are some examples of exercising varoutfunc
:
--> [c1] = varoutfunc c1 = one of one --> [c1,c2] = varoutfunc c1 = one of two c2 = two of two --> [c1,c2,c3] = varoutfunc c1 = one of three c2 = two of three c3 = three of three