Funzioni anonime

Una funzione anonima è una funzione che non è memorizzata in un file di programma, ma è associata a una variabile il cui tipo di dati è "function_handle" (puntatore di funzione). Le funzioni anonime possono accettare più input e restituire un output. Possono contenere solo una singola istruzione eseguibile.

Ad esempio, per creare una funzione anonima che trova il quadrato di un numero è necessario scrivere:

>> fun = @(x) x.^2;

La variabile fun è un puntatore di funzione. L'operatore @ crea il puntatore e le parentesi () subito dopo l'operatore @ includono gli argomenti di input della funzione.

La funzione anonima di esempio accetta un singolo input x e restituisce implicitamente un singolo output. Se però x è un vettore viene restituito un vettore delle stesse dimensioni di x che contiene i valori assunti dalla funzione.

Per esempio, se x è il vettore x = [0 1 2 3 4 5 ]:

 

>> fun = @(x) tan(x);
>> x = [0 1 2 3 4 5 ];
>> fun(x)
ans =
         0    1.5574   -2.1850   -0.1425    1.1578   -3.3805
Comando fplot

Il comando fplot permette di graficare velocemente l'andamento di una funzione anonima in un intervallo prestabilit0. La sua sintassi è

 

fplot(funzione, [xmin xmax]);

 

dove "funzione" è la funzione anonima che contiene la funzione da rappresentare e [xmin xmax] è l’intervallo della variabile indipendente.

Esempio di utilizzo:

 

>> fun = @(x) tan(x);
>> fplot(fun, [-2*pi 2*pi]);
>> grid on;

Il comando fplot è utile perché decide automaticamente il numero di punti da utilizzare per rappresentare tutte le caratteristiche di una funzione.

COMANDO FMESH

Il comando fmesh serve per disegnare superfici z = f(x,y). La sua sintassi è

fmesh(funzione, [xmin xmax ymin ymax]);

dove "funzione" è la funzione anonima che contiene la funzione di due variabili da rappresentare e [xmin xmax ymin ymax] è un vettore che contiene l’intervallo delle due variabili indipendenti.

Esempio di utilizzo:

>> fun = @(x,y) sin(x)+cosSì;
>> fmesh(fun, [-2*pi 2*pi -pi pi]);
>> grid on;
 
Grafico di funzioni implicite

 

Il comando fimplicit serve per disegnare la funzione implicita f(x,y) = 0. La sua sintassi è

fimplicit(funzione, [xmin xmax ymin ymax]);

dove "funzione" è la funzione anonima che contiene la funzione di due variabili da rappresentare e [xmin xmax ymin ymax] è un vettore che contiene l’intervallo delle due variabili indipendenti.

Esempio di utilizzo:

>> fun = @(x,y) (x-5).^2+(y-3).^2-5;
>> fimplicit(fun, [0 10 0 10]);
>> axis equal
>> grid on
 
Ultime modifiche: lunedì, 1 gennaio 2024, 18:59