Main Content

varargin

Lista de argumentos de entrada de longitud variable

Sintaxis

Descripción

ejemplo

varargin es una variable de entrada en una instrucción de definición de función que permite que la función acepte cualquier número de argumentos de entrada. Especifique varargin utilizando caracteres en minúscula. Después de todas las entradas declaradas explícitamente, incluya varargin como el último argumento de entrada.

Cuando la función se ejecuta, varargin es un arreglo de celdas de 1 por N, donde N es el número de entradas que la función recibe después de las entradas declaradas explícitamente. Si la función no recibe ninguna entrada después de las entradas declaradas explícitamente, varargin es un arreglo de celdas vacío.

Ejemplos

expandir todo

Defina una función en un archivo llamado acceptVariableNumInputs.m que acepte un número variable de entradas y muestre los valores de cada entrada.

type acceptVariableNumInputs
function acceptVariableNumInputs(varargin)
    disp("Number of input arguments: " + nargin)
    celldisp(varargin)
end

Llame a la función con varias entradas.

acceptVariableNumInputs(ones(3),'some text',pi)
Number of input arguments: 3
 
varargin{1} =
 
     1     1     1
     1     1     1
     1     1     1

 
 
varargin{2} =
 
some text
 
 
varargin{3} =
 
    3.1416

 

Defina una función en un archivo llamado definedAndVariableNumInputs.m que espere dos entradas y acepte un número adicional de entradas.

type definedAndVariableNumInputs
function definedAndVariableNumInputs(X,Y,varargin)
    disp("Total number of input arguments: " + nargin)
    
    formatSpec = "Size of varargin cell array: %dx%d";
    str = compose(formatSpec,size(varargin));
    disp(str)

end

Llame a la función con varias entradas.

definedAndVariableNumInputs(7,pi,rand(4),datetime('now'),'hello')
Total number of input arguments: 5
Size of varargin cell array: 1x3

Llame a la función con dos entradas. varargin es un arreglo de celdas vacío.

definedAndVariableNumInputs(13,42)
Total number of input arguments: 2
Size of varargin cell array: 0x0

Defina una función en un archivo llamado variableNumInputAndOutput.m que acepte un número variable de entradas y salidas.

type variableNumInputAndOutput
function varargout = variableNumInputAndOutput(varargin)
    disp(['Number of provided inputs: ' num2str(length(varargin))])
    disp(['Number of requested outputs: ' num2str(nargout)])
    
    for k = 1:nargout
        varargout{k} = k;
    end
end

Llame a la función con dos entradas y tres salidas.

[d,g,p] = variableNumInputAndOutput(6,'Nexus')
Number of provided inputs: 2
Number of requested outputs: 3
d = 1
g = 2
p = 3

Vuelva a llamar a la función sin entradas ni salidas.

variableNumInputAndOutput
Number of provided inputs: 0
Number of requested outputs: 0

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

expandir todo