Argumentos opcionales de MATLAB

Ammar Ali 20 noviembre 2021
Argumentos opcionales de MATLAB

En este tutorial, discutiremos cómo establecer los argumentos opcionales de una función usando las propiedades nargin y varargin en MATLAB.

Establecer los argumentos opcionales de una función mediante el uso de la propiedad varargin y nargin en MATLAB

Puede dar cualquier número de entradas a una función usando la propiedad varargin dentro de los corchetes del nombre de la función, y puede verificar el número de entradas pasadas a la función usando la propiedad nargin. Por ejemplo, creemos una función que acepte cualquier número de entradas usando la propiedad varargin y luego obtengamos el número de entradas usando la propiedad nargin. Vea el código a continuación.

Number_of_inputs = sample(2,1,1)
function output = sample(varargin)
    output = nargin;
end

Producción :

Number_of_inputs =

     3

Como puede ver, pasamos tres entradas en la función, que devuelve el número total de entradas. El varargin contiene una serie de entradas que puede utilizar de acuerdo con sus necesidades. Por ejemplo, obtengamos el número de entradas y luego imprimamos esas entradas usando un bucle for. Vea el código a continuación.

Number_of_inputs = sample(2,'Hello',[1,2,3]);
function output = sample(varargin)
    output = nargin;
    for i=1:nargin
        disp(varargin{i})
    end
end

Producción :

     2

Hello
     1     2     3

Como puede ver en la salida, se han mostrado las entradas. Por lo tanto, puede usar el índice para guardar una entrada específica en el array de celdas varargin y luego usarla de acuerdo con sus requisitos. Todas estas entradas son opcionales, pero si desea agregar algunas entradas que son obligatorias, puede agregarlas antes del varargin. Tenga en cuenta que debe agregar las entradas obligatorias durante la llamada a la función; de lo contrario, la función dará un error. Por ejemplo, agreguemos dos argumentos obligatorios y luego agregámoslos para obtener el resultado, y se mostrarán los argumentos opcionales. Vea el código a continuación.

sum = sample(2,3,[1,2,3],'Hello')
function output = sample(x,y,varargin)
    output = x+y;
    for i=1:nargin-2
        disp(varargin{i})
    end
end

Producción :

     1     2     3

Hello

sum =

     5

Como puede ver en la salida, se han agregado las dos primeras entradas para obtener la suma y se muestran los argumentos opcionales. Tenga en cuenta que hemos restado dos de nargin porque nargin da el número total de entradas, no las entradas presentes en el array de celdas varargin. Consulte este enlace para obtener más información sobre la propiedad varargin.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Artículo relacionado - MATLAB Function