MATLAB Function Reference | ![]() ![]() |
Pass or return variable numbers of arguments
Syntax
function varargout = foo(n) function y = bar(varargin)
Description
function varargout = foo(n)
returns a variable number of arguments from function foo.m
.
function y = bar(varargin)
accepts a variable number of arguments into function bar.m
.
The varargin
and varargout
statements are used only inside a function M-file to contain the optional arguments to the function. Each must be declared as the last argument to a function, collecting all the inputs or outputs from that point onwards. In the declaration, varargin
and varargout
must be lowercase.
Examples
function myplot(x,varargin) plot(x,varargin{:})
collects all the inputs starting with the second input into the variable varargin
. myplot
uses the comma-separated list syntax varargin{:}
to pass the optional parameters to plot
. The call
myplot(sin(0:.1:1),'color',[.5 .7 .3],'linestyle',':')
results in varargin
being a 1-by-4 cell array containing the values 'color'
,
[.5 .7 .3], 'linestyle'
, and ':'
.
function [s,varargout] = mysize(x) nout = max(nargout,1)-1; s = size(x); for i=1:nout, varargout(i) = {s(i)}; end
returns the size vector and, optionally, individual sizes. So
[s,rows,cols] = mysize(rand(4,5));
returns s = [4 5], rows = 4, cols = 5
.
See Also
![]() | var | vectorize | ![]() |