Admitir un número variable de entradas
En este ejemplo se muestra cómo definir una función que acepte un número variable de argumentos de entrada con varargin
. El argumento varargin
es un arreglo de celdas que contiene entradas de función, donde cada entrada está en su propia celda.
Cree una función en un archivo denominado plotWithTitle.m
que acepte un número variable de entradas emparejadas (x e y) para la función plot
y un título opcional. Si la función recibe un número impar de entradas, asume que la última entrada es un título.
function plotWithTitle(varargin) if rem(nargin,2) ~= 0 myTitle = varargin{nargin}; numPlotInputs = nargin - 1; else myTitle = 'Default Title'; numPlotInputs = nargin; end plot(varargin{1:numPlotInputs}) title(myTitle)
Dado que varargin
es un arreglo de celdas, accede al contenido de cada celda utilizando llaves ({}
). La sintaxis varargin{1:numPlotInputs}
crea una lista de entradas separadas por comas para la función plot
.
Llame a plotWithTitle
con dos conjuntos de entradas (x e y) y un título.
x = [1:.1:10];
y1 = sin(x);
y2 = cos(x);
plotWithTitle(x,y1,x,y2,'Sine and Cosine')
Puede utilizar solo varargin
en una lista de argumentos de entrada o al final de la lista de entradas, como
function myfunction(a,b,varargin)
En este caso, varargin{1}
corresponde a la tercera entrada pasada a la función y nargin
devuelve length(varargin) + 2
.