Function Arguments Using Nargin
Show older comments
I want to control the arguments (data sets) in a function to plot. So if I push in only one data set (x1,y1) into the function, it will plot that data and not get an error that x2 is empty or cleared variable. Or if I push in two data sets (x1,y1,x2,y2) it will plot that. Here is the code:
%.........................
%testing data set
%.........................
x1 = [1 1 1 1 1];
y1 = [1 2 3 4 5];
x2 = [2 2 2 2 2];
y2 = [1 2 3 4 5];
%...........................
function plotinputs(x1,y2,x2,y2)
if nargin == 2
plot(x1,y1)
else nargin == 4
plot(x1,y1,x2,y2)
end
Thanks, Amanda
3 Comments
per isakson
on 27 Feb 2013
What happened when you tested the code?
Muthu Annamalai
on 27 Feb 2013
Amanda what you are looking at is called 'varargin' documented with usable examples http://www.mathworks.com/help/matlab/ref/varargin.html
You need to process the cell array 'varargin' according to the number of args, which you already know, is 'nargin'.
You have all the pieces right, and you only need the right 'varagin' bits.
Amanda
on 27 Feb 2013
Answers (1)
Azzi Abdelmalek
on 27 Feb 2013
Edited: Azzi Abdelmalek
on 27 Feb 2013
There is an error
function plotinputs(x1,y2,x2,y2)
it should be
function plotinputs(x1,y1,x2,y2)
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!