MATLAB définisse une surface par les coordonnées z de points au-dessus d’une grille rectangulaire dans le plan x-y. Le tracé est formé en joignant des points adjacents avec des lignes droites. Les représentations sous forme de surface sont utiles pour visualiser des matrices qui sont trop grandes pour être affichées sous forme numérique et pour représenter graphiquement des fonctions de deux variables.

MATLAB peut créer différentes formes de graphique de surface. Les graphiques de maillage sont des surfaces de trames qui colorent uniquement les lignes reliant les points de définition. Les graphiques de surface affichent à la fois les lignes de connexion et les faces de la surface en couleur.

 

Visualisation des fonctions à deux variables

Pour afficher une fonction à deux variables, z = f (x, y), générer des matrices X et Y constituées de lignes et de colonnes répétées, respectivement, sur le domaine de définition de la fonction. Vous utiliserez ces matrices pour évaluer et représenter graphiquement la fonction.

La fonction meshgrid transforme le domaine spécifié par deux vecteurs, x et y, en matrices X et Y. Vous utilisez ensuite ces matrices pour évaluer les fonctions à deux variables: Les lignes de X sont des copies du vecteur x et les colonnes de Y sont des copies du vecteur y.

 

Utilisation de meshgrid

Pour illustrer l’utilisation de meshgrid, nous allons utiliser la fonction sin(R) / R. Pour évaluer cette fonction entre -8 et 8 dans x et y, vous devez passer un seul vecteur en argument à meshgrid, qui est ensuite utilisé dans les deux sens.

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;

La matrice R contient la distance du centre de la matrice, qui est l’origine. L’ajout de eps empêche la division par zéro qui produit des valeurs Inf dans les données.

La formation de la fonction sinc et le tracé de Z avec mesh aboutissent à la surface 3D.

Z = sin(R)./R;
figure
mesh(X,Y,Z)
Illustration de mesh

Suppression des lignes cachées

Par défaut, MATLAB supprime les lignes masquées dans les maillages, même si les faces du graphique ne sont pas remplies. Vous pouvez désactiver la suppression des lignes cachées et permettre aux faces d’un tracé de maillage d’être transparentes avec la commande hidden:

hidden off
Lignes cachées

Mise en forme de la surface

MATLAB fournit un certain nombre de techniques qui peuvent améliorer le contenu de l’information de vos graphiques. Par exemple, ce graphe de la fonction sinc utilise les mêmes données que le graphe précédent, mais utilise l’éclairage, les ajustements de vue et une palette de couleurs différente pour accentuer la forme de la fonction graphique (daspect, axis, view, camlight).

figure
colormap hsv
surf(X,Y,Z,'FaceColor','interp',...
 'EdgeColor','none',...
 'FaceLighting','gouraud')
daspect([5 5 1]) % Contrôler la longueur de chaque axe
axis tight % Axe égales à la plage des données
view(-50,30) % angle de vue
camlight left % bouger l'éclairage
Mise en forme du graphique

 

Exemple d’utilisation de mesh

Les tracés tridimensionnels affichent généralement une surface définie par une fonction dans deux variables, z = f (x, y).

 

Soit l’exemple suivant d’une fonction à 2 variables :

% Pour x et y variant de –π à π avec un pas de π/10
>> alpha = -pi:pi/10:pi;
>> beta = alpha;

% on génère deux matrices carrées x et y qui définissent le domaine de calcul de z, 
% on utilisera pour ceci la fonction mesh pour le tracé.
>> [X, Y] = meshgrid (alpha, beta);

% On évalue la fonction z et on stocke les données dans la variable z.
>> Z = sin (X.^2 + Y.^2) ./ (X.^2 + Y.^2);

% On dessine la surface représentative de la fonction.
>> mesh (X, Y, Z)

% On documente le graphe
>> xlabel ('angle \alpha = -\pi: \pi');
>> ylabel ('angle \beta = -\pi: \pi');
>> title ('sin (\alpha^2 + \beta^2) / (\alpha^2 + \beta^2)');
Graphe 3D

 

D’autres commandes comme plot3, surf, etc. étendent considérablement les capacités graphiques de MATLAB.