Argomenti opzionali MATLAB
In questo tutorial, discuteremo come impostare gli argomenti opzionali di una funzione utilizzando le proprietà nargin
e varargin
in MATLAB.
Imposta gli argomenti opzionali di una funzione usando le proprietà varargin
e nargin
in MATLAB
Puoi dare un numero qualsiasi di input a una funzione usando la proprietà varargin
all’interno delle parentesi del nome della funzione, e puoi controllare il numero di input passati alla funzione usando la proprietà nargin
. Ad esempio, creiamo una funzione che accetti un numero qualsiasi di input utilizzando la proprietà varargin
e quindi otteniamo il numero di input utilizzando la proprietà nargin
. Vedi il codice qui sotto.
Number_of_inputs = sample(2,1,1)
function output = sample(varargin)
output = nargin;
end
Produzione:
Number_of_inputs =
3
Come puoi vedere, abbiamo passato tre input nella funzione, che restituisce il numero totale di input. Il varargin
contiene un array di input che puoi usare secondo le tue necessità. Ad esempio, prendiamo il numero di input e poi stampiamo quegli input usando un cicli for
. Vedi il codice qui sotto.
Number_of_inputs = sample(2,'Hello',[1,2,3]);
function output = sample(varargin)
output = nargin;
for i=1:nargin
disp(varargin{i})
end
end
Produzione:
2
Hello
1 2 3
Come puoi vedere nell’output, gli input sono stati visualizzati. Quindi puoi usare l’indice per ottenere un input specifico salvato nell’array di celle varargin
e quindi usarli in base alle tue esigenze. Tutti questi input sono opzionali, ma se vuoi aggiungere alcuni input obbligatori, puoi aggiungerli prima del varargin
. Notare che è necessario aggiungere gli ingressi obbligatori durante la chiamata alla funzione; in caso contrario, la funzione restituirà un errore. Ad esempio, aggiungiamo due argomenti obbligatori e quindi aggiungili per ottenere l’output e verranno visualizzati gli argomenti facoltativi. Vedi il codice qui sotto.
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
Produzione:
1 2 3
Hello
sum =
5
Come puoi vedere nell’output, i primi due input sono stati aggiunti per ottenere la somma e vengono visualizzati gli argomenti opzionali. Nota che abbiamo sottratto due da nargin
perché nargin
fornisce il numero totale di input, non gli input presenti nella matrice di celle varargin
. Controlla questo link per avere maggiori informazioni sulla proprietà varargin
.