How do I write a function that behaves differently according to the number of input arguments?

4 views (last 30 days)
First, is it possible to write a function that variably accepts some number of arguments? (It should be possible since to create objects, you often call functions and specify a variable number of properties that you wish to initialize).
Secondly, how do you count the number of arguments? Are arguments received as strings?

Answers (2)

Steven Lord
Steven Lord on 10 Sep 2015
Take a look at VARARGIN, NARGIN, and NARGINCHK.

Thorsten
Thorsten on 10 Sep 2015
Edited: Thorsten on 10 Sep 2015
Use varargin as the parameter of your function that collects all arguments as elements of a cell array.
function myplot(varargin)
%number of arguments
numel(varargin)
% first argument
varargin{1}
You can use other arguments in front of varargin.
function myplot(x, y, varargin)

Categories

Find more on Argument Definitions in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!