Tracé de courbes de contour
Pour tracer les courbes \(z = \textrm{C}^\textrm{te}\) d'une surface définie par \(z = f(x, y)\), on peut utiliser la fonction contour
. Elle s'utilise comme les instructions précédentes, mais fournit un graphe 2D dans le plan \((x, y)\). Plusieurs paramètres optionnels peuvent être spécifiés, notamment le nombre de courbes de contours à afficher.
Exemple :
En reprenant l'exemple précédemment tracé en surfaces, on peut par exemple tracer 10 lignes de niveau :
1 2 3 4 5 | x = -1:0.05:1; y = -2:0.05:2; [X,Y] = meshgrid (x,y); Z = Y .^2 - X.^2; contour (X,Y,Z, 10); |
Le résultat est présenté sur la figure suivante :
Notons que l'on peut préciser à MATLAB quelles lignes de niveaux il doit afficher.
Par exemple pour dessiner les courbes correspondant à \(z = -0.5\), \(0\), \(0.5\), \(1\), \(2\) et \(3\), on peut écrire :
1 | contour (X,Y,Z, [-0.5 0 0.5 1 2 3 ]); |
Dans ce cas, il est également intéressant d'ajouter sur le tracé les valeurs de \(z\) le long des différentes lignes de contour. Pour cela il faut affecter à une variable la valeur de sortie de la commande contour et utiliser la fonction clabel
:
Exemple :
1 2 | ch = contour (X,Y,Z, [-0.5 0 0.5 1 2 3 ]); clabel (ch); |
Le résultat est visible sur cette figure :