Argomenti opzionali MATLAB

Ammar Ali 9 maggio 2021
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.

Autore: 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

Articolo correlato - MATLAB Function