VARARGIN Variable Input Arguments
Section: Functions and Scripts
Usage
FreeMat functions can take a variable number of input arguments by setting the last argument in the argument list tovarargin.
This special keyword indicates that all arguments to the
function (beyond the last non-varargin keyword) are assigned
to a cell array named varargin available to the function.
Variable argument functions are usually used when writing
driver functions, i.e., functions that need to pass arguments
to another function. The general syntax for a function that
takes a variable number of arguments is
function [out_1,...,out_M] = fname(in_1,..,in_M,varargin)
Inside the function body, varargin collects the arguments
to fname that are not assigned to the in_k.
Example
Here is a simple wrapper tofeval that demonstrates the
use of variable arguments functions.
wrapcall.m
function wrapcall(fname,varargin)
feval(fname,varargin{:});
Now we show a call of the wrapcall function with a number
of arguments
--> wrapcall('printf','%f...%f\n',pi,e)
3.141593...2.718282
A more serious driver routine could, for example, optimize
a one dimensional function that takes a number of auxilliary
parameters that are passed through varargin.
