Funzioni anonime e grafico veloce di una funzione
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);
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:
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:
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;
Approfondimenti
funzioni anonime: https://it.mathworks.com/help/matlab/matlab_prog/anonymous-functions.html
fplot: https://it.mathworks.com/help/matlab/ref/fplot.html
fmesh: https://it.mathworks.com/help/matlab/ref/fmesh.html
altre modalità grafiche per funzioni anonime
fplot3: https://it.mathworks.com/help/matlab/ref/fplot3.html
fsurf: https://it.mathworks.com/help/matlab/ref/fsurf.html
fcontour: https://it.mathworks.com/help/matlab/ref/fcontour.html
fimplicit: https://it.mathworks.com/help/matlab/ref/fimplicit.html