Contenido principal

Validar argumentos de posición obligatorios y opcionales

Los argumentos de posición son argumentos con una posición y orden definidos en una declaración de función. La posición del valor que se pasa en la lista de argumentos debe corresponder al orden del argumento que se ha declarado en el bloque arguments. Todos los nombres de argumentos del bloque arguments deben ser únicos.

Los argumentos de posición del bloque arguments son obligatorios cuando se llama a la función, a menos que el argumento defina un valor predeterminado. Especificar un valor predeterminado en la declaración del argumento hace que el argumento de posición sea opcional, ya que MATLAB® puede utilizar el valor predeterminado cuando no se ha pasado ningún valor en la llamada a la función.

Establecer valores predeterminados para argumentos opcionales

El valor predeterminado puede ser una constante o una expresión que produce un resultado que satisface la declaración del argumento. La expresión puede hacer referencia a los argumentos que se han declarado antes que ella en el bloque arguments, pero no a los argumentos que se han declarado después.

MATLAB evalúa la expresión del valor predeterminado solo cuando el argumento no está incluido en la llamada a la función.

Todos los argumentos opcionales deben posicionarse después de todos los argumentos obligatorios en el bloque arguments. Por ejemplo, en este bloque arguments, maxval y minval tienen valores predeterminados y son, por lo tanto, opcionales.

function myFunction(x,y,maxval,minval)
    arguments
        x (1,:) double
        y (1,:) double
        maxval (1,1) double = max(max(x),max(y))
        minval (1,1) double = min(min(x),min(y))
    end

    % Function code
    ....
end

Puede llamar a esta función con cualquiera de las sintaxis siguientes:

myFunction(x,y,maxval,minval) 
myFunction(x,y,maxval) 
myFunction(x,y) 

Un argumento de posición opcional se vuelve obligatorio cuando su posición debe rellenarse en la llamada a la función para identificar argumentos que van después de él. Es decir, si desea especificar un valor para minval, debe especificar un valor para maxval.

Argumentos de posición ignorados

MATLAB permite ignorar argumentos pasando el carácter tilde (~) en lugar del argumento. Puede definir una función que ignore argumentos de posición sin usar añadiendo un carácter tilde (~) en el bloque arguments que corresponda a la posición del argumento en la firma de función. Añada un carácter tilde (~) por cada argumento ignorado en la firma de función.

Los argumentos ignorados no pueden tener valores predeterminados ni especificar funciones de clase, tamaño o validación.

El carácter tilde (~) se trata como argumento opcional a menos que venga seguido de un argumento de posición obligatorio. Por ejemplo, en esta función, el carácter tilde (~) representa un argumento opcional.

function c = f(~)
    arguments
        ~
    end

    % Function code
end

Puede llamar a esta función sin argumentos.

c = f 

También puede llamar a esta función con un argumento.

c = f(2)

En la función siguiente, el carácter tilde (~) representa un argumento obligatorio.

function c = f(~,x)
    arguments
        ~
        x
    end

    % Function code
    ...
end

Las llamadas a esta función deben incluir ambos argumentos.

c = f(2,3)

Para obtener más información sobre llamar a funciones con entradas ignoradas, consulte Ignorar entradas en definiciones de funciones.

Consulte también

|

Temas