
Come creare un grafico 3D con Matlab
In questa lezione online ti spiego come fare i grafici in tre dimensioni su Matlab
Cos'è un grafico in 3D? E' un grafico tridimensionale rappresentato nello spazio sugli assi x,y,z. Spesso è utilizzato per rappresentare le funzioni matematiche f(x,y) con due variabili indipendenti z=f(x,y). Ecco un esempio di grafico 3D realizzato con Matlab.
Ti faccio un esempio pratico.
Crea l'array con i valori dell'asse x da -10 a 10
>> x = linspace(-10,10,50)';
Poi crea l'array con i valori dell'asse y da -10 a 10
>> y = linspace(-10,10,50)';
Entrambi gli array x e y hanno 50 elementi al loro interno.
Digita la funzione meshgrid() per creare la matrice dei punti del piano xy e assegnala agli array xx e yy.
>> [xx,yy]=meshgrid(x,y);
A questo punto ti manca solo un ultimo array. Devi definire l'array con i valori della funzione che vuoi rappresentare.
Ad esempio, crea l'array della funzione f(x,y)=x2-y2 nella variabile z
>> z=xx.^2-yy.^2;
Ora digita mesh(x,y,z) per disegnare il grafico in tre dimensioni indicando le coordinate x, y, z nelle parentesi tonde
>> mesh(x,y,z)
Matlab visualizza il grafico 3D della funzione z=x2-y2 nello spazio a tre dimensioni.
Per visualizzare anche le linee di livello sul piano xy del grafico digita meshc(x,y,z)
>> meshc(x,y,z)
Questa funzione ti permette di aggiungere le linee di livello sotto il grafico.
Cosa sono le linee di livello? Le linee di livello (o linee di contorno) sono la proiezione delle altezze sul piano orizzontale (xy). Ti permettono di analizzare l'altezza della funzione su un diagramma a due dimensioni. Le aree più interne delle linee di livello indicano quote maggiori. Ad esempio, nelle cartine geografiche le linee di livello sono usate per rappresentare sul piano l'altezza delle montagne e la profondità dei mari.
In alternativa, puoi utilizzare la funzione meshz()
>> meshz(x,y,z)
Questa funzione visualizza la proiezione verticale del grafico sulla base
Un'altra funzione utile per rappresentare i grafici tridimensionali è la funzione surf()
>> surf(x,y,z)
Questa funzione ti permette di colorare la superficie del grafico 3D.
In questo caso per aggiungere le linee di livello devi usare la funzione surfc()
>> surfc(x,y,z)
Questa funzione aggiunge le linee di livello sul piano xy.
Infine, per modificare gli effetti luce sul grafico 3D utilizza la funzione surfl()
surfl(x,y,z)
La funzione surfl aggiunge degli effetti luce sulla superficie del grafico.
Queste funzioni ti permettono di disegnare qualsiasi funzione matematica in tre dimensioni su Matlab.