MATLAB - Graphique3D

Discussion dans 'Windows' créé par [Clad], 1 Mars 2012.

  1. Offline
    [Clad] Elite
    Bonjour à tous :)

    J'ai un problème dans Matlab, logiciel que j'utilise jamais :/

    J'ai des matrices de tailles 3x3, 4x4 et 6x6.

    J'arrive à tracer un graph en 3d avec mesh(x,y,z), etc...

    Cependant j'aimerais avoir un résultat comme ci-dessous :
    [IMG]

    Je ne pense pas que ce soit un effet de surface ?
    On dirait que le nombre de point à été augmenté ? Peut être avec une interpolation ?

    Pouvez vous m'aider?
    Merci d'avance

    :proud: :-D
    [Clad], 1 Mars 2012
    #1
  2. Online
    EINST Elite
    longtemps que j'ai plus utilisé matlab.

    pour avoir en niveau de gris, p-e préciser ceci :
    colormap gray ;

    pour avoir un contour dessiné à la base comme sur le dessin, c'est meshc au lieu de mesh


    pour que la couleur soit uniformisé et ne pas avoir un dégradé, tu peux rajouter une matrice C avec dedans toutes les mêmes valeurs. Cette matrice doit avoir la même taille que les autres. Exemple pour 6x6 : C=ones(6); mesh(X,Y,Z,C) ou mesh (Z,C)
    EINST, 1 Mars 2012
    #2
  3. Offline
    Kuzco El Lama Bazinga!
    phd sans matlab


    fake phd :gne:
    Kuzco El Lama, 1 Mars 2012
    #3
  4. Offline
    deNje Adm¡n
    phd avec matlab

    pussy phd o_O
    deNje, 1 Mars 2012
    #4
  5. Offline
    [Clad] Elite
    j'ai pas ouvert matlab en 2 ans :p

    j'ai bien choisi mon sujet de thèse :cool:
    [Clad], 1 Mars 2012
    #5
  6. Offline
    [Clad] Elite
    Merci de ta réponse rapide, pour la mise en forme les paramètres que tu m'as donnés sont bno. Par contre je n'ai pas assez de point, le rendu est moche. Dans l'image du premier post, on dirait qu'il à augmenter le nombre de point, car chaque carré de l'image équivaut à un point non ?
    [Clad], 1 Mars 2012
    #6
  7. Online
    EINST Elite
    oui tu peux tenter une interpolation alors.

    cfr. "exemple 1" ici : http://www.mathworks.nl/help/techdoc/ref/interp2.html

    [XI,YI] = meshgrid(-3:.125:3); // tu définis ta grille et donc au final le nombre de point qui seront calculés.
    ZI = interp2(X,Y,Z,XI,YI);
    mesh(XI,YI,ZI);


    T'es pas obligé d'avoir le même "pas" en x et y, tu peux très bien faire ceci :
    [X,Y] = meshgrid(0:1:10,0:0.5:10)

    ou des trucs encore + exotique pour interpoler que certaines régions.
    EINST, 1 Mars 2012
    #7
  8. Offline
    [Clad] Elite
    Yes c'est bon merci Einst !
    J'ai fait l'interpolation, mais avant ca j'ai doublé le nombre de points utiles dans la matrice afin d'avoir des zones planes.

    Merci à tous :love:
    [Clad], 1 Mars 2012
    #8
  9. Offline
    deNje Adm¡n
    t'es le bienvenu.
    deNje, 1 Mars 2012
    #9