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
.