function with variable amount of inputs

32 Ansichten (letzte 30 Tage)
Romano Geerling
Romano Geerling am 11 Apr. 2016
Bearbeitet: Stephen23 am 11 Apr. 2016
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

Akzeptierte Antwort

Stephen23
Stephen23 am 11 Apr. 2016
Bearbeitet: Stephen23 am 11 Apr. 2016
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.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 11 Apr. 2016
See the documentation for varargin and nargin

Kategorien

Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by