Argumentos opcionais do MATLAB

Ammar Ali 9 maio 2021
Argumentos opcionais do MATLAB

Neste tutorial, discutiremos como definir os argumentos opcionais de uma função usando as propriedades nargin e varargin no MATLAB.

Defina os argumentos opcionais de uma função usando as propriedades varargin e nargin no MATLAB

Você pode fornecer qualquer número de entradas para uma função usando a propriedade varargin dentro dos colchetes do nome da função, e você pode verificar o número de entradas passadas para a função usando a propriedade nargin. Por exemplo, vamos criar uma função que aceite qualquer número de entradas usando a propriedade varargin e, em seguida, obtenha o número de entradas usando a propriedade nargin. Veja o código abaixo.

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

Resultado:

Number_of_inputs =

     3

Como você pode ver, passamos três entradas na função, que retorna o número total de entradas. O varargin contém uma série de entradas que você pode usar de acordo com sua necessidade. Por exemplo, vamos obter o número de entradas e, em seguida, imprimir essas entradas usando um loop for. Veja o código abaixo.

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

Resultado:

     2

Hello
     1     2     3

Como você pode ver na saída, as entradas foram exibidas. Assim, você pode usar o índice para obter uma entrada específica salva no array de células varargin e depois usá-los de acordo com seus requisitos. Todas essas entradas são opcionais, mas se você quiser adicionar algumas entradas que são obrigatórias, você pode adicioná-las antes do varargin. Observe que você deve adicionar as entradas obrigatórias durante a chamada de função; caso contrário, a função apresentará um erro. Por exemplo, vamos adicionar dois argumentos obrigatórios e, em seguida, adicioná-los para obter a saída, e os argumentos opcionais serão exibidos. Veja o código abaixo.

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

Resultado:

     1     2     3

Hello

sum =

     5

Como você pode ver na saída, as duas primeiras entradas foram adicionadas para obter a soma e os argumentos opcionais são exibidos. Observe que subtraímos dois de nargin porque nargin fornece o número total de entradas, não as entradas presentes na matriz de células varargin. Verifique este link para obter mais informações sobre a propriedade 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

Artigo relacionado - MATLAB Function