Qu'est-ce que Meshgrid dans MATLAB ?
MATLAB est un logiciel mathématique puissant pour des calculs allant de l'arithmétique simple et du calcul à l'algèbre linéaire et au traitement du signal. Il peut aussi tracer des graphiques. Ses milliers de fonctions intégrées lui donnent sa puissance, et l'un de ses outils de tracé puissants est la fonction "meshgrid". Cette fonction insère des lignes de grille définies par l'utilisateur dans des graphiques 2D et 3D.
Défauts de tracé MATLAB
En utilisant les fonctions de tracé 2D de MATLAB seules sans instruction supplémentaire, MATLAB n'utilise pas de lignes de grille. Si l'utilisateur trace un graphique en 2D, l'arrière-plan est blanc uni. En 3D, MATLAB utilise une grille générique. Si des lignes de grille doivent apparaître sur un graphique 2D pour le clarifier, l'utilisateur doit le spécifier lors de l'appel de la commande de tracé ou depuis la fenêtre de figure après génération du graphique.
Meshgrid vs Grid
La fonction "grid" de MATLAB est un moyen simple d'activer des lignes de grille génériques en 2D lors d'un tracé. Un algorithme préprogrammé détermine le nombre de lignes et leur espacement. En revanche, avec "meshgrid", l'utilisateur détermine complètement les lignes de grille horizontales et verticales. De plus, avec "grid", le nombre et l'espacement sont identiques pour les deux axes ; avec "meshgrid", l'utilisateur peut exiger, par exemple, 3 lignes horizontales et 100 verticales.
Exemple 3D
Voici un exemple d'utilisation de "meshgrid" pour un tracé 3D :
[X,Y] = meshgrid(-2:.2:2, -1:0.2:1) Z = X .* exp(-X.^2 - Y.^2); surf(X,Y,Z)
La première ligne dit à MATLAB d'utiliser des lignes de grille horizontales de -2 à 2 par pas de 0,2, et verticales de -1 à 1 par pas de 0,1. La seconde ligne définit le calcul de Z selon X et Y. Enfin, "surf" trace une surface 3D dans l'espace, avec le meshgrid conformé à la surface.
Autre exemple 3D
Autre façon d'utiliser "meshgrid" pour un tracé 3D :
[X,Y] = meshgrid(-2:.2:2) Z = X .* exp(-X.^2 - Y.^2); surf(X,Y,Z)
Les lignes 2 et 3 sont identiques, mais ici "meshgrid" ne prend qu'un argument. MATLAB comprend qu'un seul argument signifie utiliser le même nombre de lignes et espacements pour X et Y. Avec ce code, la surface aura 21 lignes horizontales et 21 verticales, toutes équidistantes.
