[MatLab] - Creare superficie dai valori delle coordinat

Lory314
Ciao a tutti! Ho questo problema con MatLab che è stupido (penso) ma non riesco a risolvere.
Io ho le coordinate di una mesh salvate in due vettori ($x$ e $y$) che rappresentano le ascisse e le ordinate dei punti e un vettore $w$ che tale che $w_i$ rappresenta il valore di $w$ nel punto $(x_i,y_i)$. Vorrei disegnare una superficie che rappresenti $w$.
Per ora l'unica cosa che sono riuscito a fare è quella riportata nella figura, facendo semplicemente
plot3(x,y,w,'*b');

Vorrei avere al posto di questo grafico una superficie che congiunge tutti i punti in modo da avere un colorplot.

Qualcuno può aiutarmi? Grazie
Come potete vedere dalla figura la superficie ha 3 buchi.

Risposte
_luca.barletta
usa la funzione surf

minomic
Ciao, io conosco questo metodo:
1. stabilisci l'intervallo che vuoi rappresentare crando due vettori, diciamo
xx=-2:0.1:2;
yy=xx;

2. crei una griglia a partire da questi due vettori con il comando
[x, y]=meshgrid(xx, yy);

3. definisci la funzione che vuoi rappresentare, ad esempio
z=exp(-x.^2-y.^2);

4. la rappresenti con il comando
mesh(z)


Fammi sapere se funziona! ;)

Lory314
Bhe questo è il modo ovvio per creare superfici. I miei problemi sono 2: ho bisogno di una griglia (quella che crei con meshgrid) che rappresenti un rettangolo con dei buchi e poi non ho z in funzione di x e y, ma ottengo i valori di z in altro modo.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.