function with variable amount of inputs

조회 수: 32 (최근 30일)
Romano Geerling
Romano Geerling 2016년 4월 11일
편집: Stephen23 2016년 4월 11일
Hello everybody,
maybe this is very simple question for you guys, but I'm trying to write a function in matlab that works when having just 2 inputs or more. I have been looking for a solution, but couldn't find exactly what I wanted. It is like this
function myfunction(x1,y1,x2,y2)
plot(x1,y1) %user just puts x1,y1
or
plot(x1,y1,x2,y2) %user puts x1,y1,x2,y2
end
I want the function to work, when the user just puts x1,y1 as input, but I also want it to work when the user puts x1,y1,x2,y2 and plot a figure.
Many thanks in advance.
Romano

채택된 답변

Stephen23
Stephen23 2016년 4월 11일
편집: Stephen23 2016년 4월 11일
Use nargin:
function myfun(x1,y1,x2,y2)
switch nargin
case 2
plot(x1,y1)
case 4
plot(x1,y1,x2,y2)
otherwise
error('This number of arguments is not supported')
end
end
Or for the general case you can use varargin: this has the disadvantage that the inputs are not named, so tab completion and the code helper tools will only show varargin instead of more useful variable names.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2016년 4월 11일
See the documentation for varargin and nargin

카테고리

Help CenterFile Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by