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

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)

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

Asked:

on 10 Sep 2015

Edited:

on 10 Sep 2015

Community Treasure Hunt

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

Start Hunting!