Rechercher : dans
Par :

[Matlab/Octave] Représenter des données en 3D

Dernière réponse le 6 oct 2009 à 11:11:40 Lucky, le 13 mai 2009 à 15:27:34 
 Signaler ce message aux modérateurs

Bonjour,

Je suis débutante en matlab/octave et je souhaiterais représenter une surface en 3D à partir de données x,y,z. J'ai essayé surf(x,y,z), mesh(x,y,z), plot3(x,y,z) mais rien ne fonctionne ... est-ce que ça viens de la synthaxe .. mes x,y et z sont des vecteurs colonnes.

Merci d'avance

Configuration: Linux
Firefox 3.0.10

1

Fee Fay, le 16 mai 2009 à 03:19:00

Bonjour mon ami !

Avec quelques jours de retard...
X,Y,Z ne doivent pas être des vecteurs mais des matrices pour définir une grille (X,Y) et les valeurs de la fonction sur cette grille (Z) ;-)

Voici un petit exemple :

[X Y]=meshgrid(-1:0.1:1);
Z=X.^2+Y.^2;
surf(X,Y,Z);shading interp;
Je te souhaite une bien bonne nuit ! Tous les animaux criaient bien haut
Qu’il était le crapaud le plus beau, quand il jouait du banj­o

Répondre à Fee Fay

2

noha, le 6 jun 2009 à 13:05:19

% ti est les axes
ti = 0:.25:250;
[XI,YI] = meshgrid(ti,ti);
ZI = griddata(y,x,z,XI,YI);
mesh(XI,YI,ZI),
ou
surf(XI,YI,ZI)
ou
plot3(y,x,z,'b-o'),

shading interp;;

Répondre à noha

3

Lucky, le 7 jun 2009 à 01:06:49

Oui en effet mon problème venait du fait que mes données étaient sous forme de 3 vecteurs colonnes ... pour ceux qui auront éventuellment ce problème : il faut transformer les données x y z en grille, c'est possible grâce à GMT par exemple. La grille crée est lisible par matlab et après plus de problème !!

Merci à tous de vos réponses !!

Répondre à Lucky

4

 nohabrh, le 6 oct 2009 à 11:11:40

Bonjour
GMT c'est quoi et c'est quoi son role
moi j'ai les meme donnée que vous et j'ai pas pu lissé mon image
merci d'avance

Répondre à nohabrh