Function Arguments Using Nargin

4 次查看(过去 30 天)
Amanda
Amanda 2013-2-27
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 个评论
Muthu Annamalai
Muthu Annamalai 2013-2-27
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
Amanda 2013-2-27
I knew I was missing some pieces in the code. I will check out the reference. Thanks a lot.

请先登录,再进行评论。

回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-2-27
编辑:Azzi Abdelmalek 2013-2-27
There is an error
function plotinputs(x1,y2,x2,y2)
it should be
function plotinputs(x1,y1,x2,y2)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by