| 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 | ![]() |