Téléchargement
illégal

Représentation des courbes sous Matlab

La fonction plot permet essentiellement de tracer des courbes sous Matlab. Dans cette astuce, nous allons essayer de détailler le fonctionnement de cette commande.



Simple utilisation


Dans cette partie, nous allons voir comment utiliser la commande pour représenter une matrice ou une simple fonction mathématique.

Vecteur


Supposons un vecteur V d'une taille n. La fonction plot(V) permet de présenter le contenu du vecteur V en fonction des indices n. Donc, vous aurez la représentation des paires (i,V(i)).

Exemple :

V est un vecteur qui contient les réels de 0 à 10 avec un pas de 0.1 :
V=[0:0.1:10]

La taille de ce vecteur est n=101.

La commande plot(V) donne :



L'axe des abscisses correspond aux indices et l'axe des cordonnées correspond aux valeurs du vecteur pour chaque indice.

Matrice


Dans ce cas, la fonction plot va considérer chaque colonne de la matrice comme étant un vecteur séparé et elle va être tracée en fonction des indices.

Exemple :

M=[1:10;21:30]

plot(M)


Le transposé de M est M' :


plot(M')

Vecteur en fonction d'un autre


C'est le cas le plus courant. Il suffit de définir les deux vecteurs en question. La commande plot(V1,V2) permet de tracer le vecteur V2 en fonction de V1.

Exemple :

V1=[0:0.01:2*pi];
V2=sin(V1);


V1 est composé des réels de 1 jusqu'à 2*3.14 avec un pas de 0.01. V2 est le sinus du vecteur V1.

plot(V1,V2)

Autres paramètres de la commande


Un troisième paramètre peut être ajouté à la commande pour spécifier :
  • La couleur de la courbe ;
  • La représentation des cordonnées (points, triangles, carrés ...) ;
  • Le type du trait (continu, discontinu).


Ce paramètre doit être spécifié entre deux accents (').

Exemple :

V=[1:10];


Pour tracer le vecteur V en vert et avec des + au lieu des points, il suffit de faire :
plot(v,'g+')


Voici la liste des paramètres possibles :
  • La couleur :
    • b bleu
    • g vert
    • r rouge
    • m magenta
    • k noir
    • w blanc
  • La représentation des cordonnées :
    • . point
    • o cercle
    • x x-marque
    • + plus
      • étoile
    • s carré
    • d diamant
    • v triangle (bas)
    • ^ triangle (haut)
    • < triangle (gauche)
    • > triangle (droite)
    • p pentagramme
    • h hexagramme
  • Le type du trait :
    • - solide
    • : discontinu 1
    • -. discontinu 2
    • -- discontinu 3

Tracer plusieurs courbes


Sur la même figure et avec la même échelle


Il est nécessaire de préciser à Matlab que vous vouliez mettre plusieurs courbes sur la même figure. Si vous ne le faites pas, il écrasera à chaque fois la courbe en cours pour mettre la nouvelle courbe.

Exemple :

V1=[0:0.01:2*pi];
V2=sin(V1);
V3=cos(V1);
plot(V1,V2)

Pour ajouter la courbe V3 en fonction de V1, il suffit d'utiliser la commande hold on :
hold on
plot(V1,V3,'r')

Sur la même figure avec des échelles différentes


Il faut partager la figure en forme de matrice (lignes et colonnes). La commande pour le faire est subplot.

La syntaxe de la commande est subplot(n,m,p) où :
  • m est le nombre de lignes ;
  • n est le nombre de colonnes ;
  • p est la position où la courbe en cours va se mettre. Cette position est retrouvée en calculant la somme de la ligne et de la colonne de la matrice.


Exemple :

V1=[0:0.01:2*pi];
V2=sin(V1);
V3=cos(V1);
V4=exp(V1);
V5=-sin(V1);

Le code pour afficher les courbes V2,3,4 et 5 sur la même figure mais chacun sur une zone propre à lui est le suivant :
subplot(2,2,1), plot(V1,V2)
subplot(2,2,2), plot(V1,V3)
subplot(2,2,3), plot(V1,V4)
subplot(2,2,4), plot(V1,V5)

Créer des nouvelles figures


La commande figure permet de créer des nouvelles figures. Le code suivant permet de mettre chaque courbe V2,V3 et V4 dans une nouvelle figure, de cette façon les anciennes figures ne seront pas remplacées par les nouvelles :
plot(V1,V2)
figure
plot(V1,V3)
figure
plot(V1,V4)

Nommer la figure


Voici quelques commandes supplémentaires :

title('texte')
Donne un nom à la courbe
xlabel('texte')
Donne un nom à l'axe des abscisses
ylabel('texte')
Donne un nom à l'axe des cordonnées
text(x,y,'texte')
Affiche un texte à l'emplacement indiqué par les cordonnées (x,y) suivant l'échelle de la figure.
Publié par fahd_zboot - Dernière mise à jour le 3 novembre 2009 à 11:28 par marlalapocket
Ce document intitulé « Représentation des courbes sous Matlab » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  Représentation des courbes sous Matlab
  •  Tracer plusieurs courbes sur MATLAB (Résolu) » Meilleure réponse: Salut As-tu essayé de taper hold on entre chaque tracé?
  •  Tracer une fonction sous Matlab (Résolu) » Meilleure réponse: Salut Je sais que le sujet date d'un mois mais au cas où t'aurais pas trouvé et/ou quelqu'un aurait un souci de ce genre. Une des solutions, plutôt que de faire une boucle pour définir un vecteur des valeurs de JNa en fonction de valeur
  •  Probleme integration de fonction sous matlab (Résolu) » Meilleure réponse: je dois calculer l'air d'une courbe sous matlab comment faire pour charger cette courbe ....et comment proceder pour echantilloner cette courbe afin de calculer l'air dde cahque echatillon ...et faire la somme par la suite merci de m'ai
  •  MATLAB : Equation de courbes (Résolu) » Meilleure réponse: Salut. ceci est tout à fait possible, il existe quelques fonctions qui font ça. Bien évidemment, il faut lui donner la fonction avec laquelle tu veux approximer tes points expérimentaux, car il ne peut le déterminé seul (c'est en fait a
  •  [Matlab/Octave] Représenter des données en 3D (Résolu) » Bonjour, Je suis débutante en matlab/octave et je souhaiterais représenter une surface en 3D à partir de données x,y,z. J'ai essayé surf(x,y,z), mesh(x,y,z), plot3(x,y,z) mais rien ne fonctionne ... est-ce que ça viens de la synthaxe .. mes x,y et z...
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Concaténer les vecteurs ou les matrices sous Matlab
Manipulations élémentaires des tableaux sous MatLab