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

Résolu
Lucky -  
 perdu en math -
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

2 réponses

  1. Fee Fay Messages postés 646 Date d'inscription   Statut Membre 377
     
    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 !
    1
    1. noha
       
      % 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;;
      0
    2. Walid EL FEZZANI
       
      et si j'ai 3 vecteurs, comment pourrais je utiliser la onction surf" ou la fonction "mesh"?
      0
    3. perdu en math
       
      et si Z n'a pas besoin d'être calculer ? si on a déjà les valeur de Z sous un forma de vecteur ?
      0
  2. Lucky
     
    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 !!
    0
    1. nohabrh Messages postés 1 Statut Membre
       
      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
      0