lettura facile

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.
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.

il grafico 3D della funzione

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.

il grafico 3D della funzione con le linee di livello

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

il grafico 3D ottenuto con la funzione meshz()

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.

il grafico 3D ottenuto con la funzione surf()

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.

le linee di livello

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.

il grafico 3D con alcuni effetti di luce sulla superficie

Queste funzioni ti permettono di disegnare qualsiasi funzione matematica in tre dimensioni su Matlab.




Non hai risolto il tuo problema? Scrivi una domanda




FacebookTwitterLinkedinLinkedin