MATLAB - Graphique3D

[Clad]

Manipulateur de bits
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 :


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
 

EINST

⭐⭐⭐⭐⭐
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)
 

deNje

Adm¡n
phd avec matlab

pussy phd o_O
 
1er
OP
[Clad]

[Clad]

Manipulateur de bits
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)
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 ?
 

EINST

⭐⭐⭐⭐⭐
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.
 
1er
OP
[Clad]

[Clad]

Manipulateur de bits
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.
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:
 

deNje

Adm¡n
t'es le bienvenu.
 
Haut