InformatiquesTélécommunications

Scripts et graphisme sous Matlab

  1. Objectifs 
  •  apprendre à écrire des scripts.
  •  savoir faire une représentation 2D et 3D.
  1.  Les scripts.

2.1 ouvrir un script

Un  script est une suite de commande Matlab. Autrement dit, un script est un ensemble des instructions (commandes) Matlab  qui joue le rôle de programme principal.

Pour lancer un script aller à l’onglet « File », « new » et puis « M-file ».

Une fois, vous cliquer sur « M-file », la fenêtre suivante apparait :

C’est dans cette fenêtre qu’on peut écrire l’ensemble des instructions Matlab. Il est en effet beaucoup plus simple de modifier des instructions dans un script  que de retaper un ensemble d’instructions MATLAB dans la fenêtre de commandes.

Exercice 1

Ouvrir un nouveau script et taper le programme suivant :

a=2 ;

b=5 ;

c=(a+b)/2 ;

disp (c) 

2.2 nommer et sauvegarder un script

Une fois, vous écrivez le programme vous devez le  sauvegarder et lui donner un nom (dans notre exemple, on va le nommé : programme). 

  • Cliquer sur « file » puis « save as »

Remarques importantes :

  • Le script doit avoir une extension de la forme « .m ».
  • Dans l’appellation des scripts,  Il faute éviter :
  • D’utiliser les caractères désignant un opérateur spécifique à Matlab tel que « -», « ; », « * »,…etc.
  • D’utiliser le nom d’une fonction Matlab telle que : sqrt, sin, cos,…etc.
  • D’utiliser deux mots séparées (par exemple : program st, program  1).

 2.3 Exécution d’un script  

Pour exécuter un script, on écrit tout simplement son nom dans la fenêtre de commandes puis on clique sur  entrer.

Le nom du script.

Si le script  contient une (des) erreur(s), la ligne contenant l’erreur ainsi le type d’erreurs sont affichées dans la fenêtre des commande.

Exercice :

Soit M, la matrice définie par :

12 24 36 58 2 6 8 10 7 9 11 13         

La sous matrice M1

Ecrire un script Matlab qui permet d’extraire :

  • L’élément situé dans la troisième ligne et la quatrième colonne. 
  • Le vecteur L3 contenant tous les éléments de la troisième ligne.
  • Le vecteur C4 contenant tous les éléments de la quatrième colonne.
  • La sous matrice M1du matrice M, constitué à partir de l’intersection de la deuxième et la troisième colonne avec la deuxième et la troisième ligne.
  • La matrice M2 dont ses lignes sont celles de la matrice M mais afficher en sens inverse.

M2=7 9 11 13 2 6 8 10 12 24 36 58

  • Mettre tous les éléments de la deuxième ligne égaux à deux.

Remarque : seule la matrice M qui est déclarée  manuellement.

3. Graphisme sous « Matlab »

3.1 Importance de la représentation graphique

Comme il est indiqué dans le TP No 1, MATLAB est un logiciel conçu pour les calculs scientifiques. Ceci signifie que Matlab va aider l’utilisateur (ingénieur, étudiant, comptable,…) à résoudre un problème lié à un phénomène naturel ou bien physique. Autrement dit, les observations (données) d’un expert ou bien d’un utilisateur sont enregistrées souvent sous forme des chiffres. Représenter ses observations sous forme d’un tableau  ne permet pas à l’utilisateur de mieux voir la variation de ces données. Tandis que, si ces données sont représentées graphiquement, l’utilisateur peut non seulement voir la variation mais il peut aussi sélectionner les régions d’intérêt et les régions ou les événements pertinents se produisent. 

3.2  Représentation graphique 2D

3.2.1 tracer un graphe.

Pour tracer un graphe en 2D, on fait appel à la fonction Matlab « plot ».

Exemple :

Soit F, un vecteur défini par : F= [1  20 14 12 10 11 25 26 14 45 23 45 1 20 14 12 10 11 25] 

Pour représenter graphiquement le vecteur F, on peut taper tout simplement : plot (F).

 Pour tracer, la fonction y définie par : yt=sin⁡(0.3πt)

  • Il faut tout d’abord déclarer le vecteur t
  • Taper en suite la formule de y. [c.à.d.:y=sin⁡(0.3πt)]. Remarquez vous que nous avons écris seulement y et non pat y(t). 
  • Finalement tracer le graphe de y(t) en utilisant la fonction « plot ».

clear all;

clc;

t= [0 : pi/100 :2* pi] ;

y= (0.3*pi*t) ;

plot(t, y)

Une fois, vous exécutez votre programme, une fenêtre contenant  le graphe de la fonction mathématique apparait.

                                                                                                       Le graphe de y(t)

L’axe

des cordonnées 

                                                                                           L’axe des abscisses 

3.2.2 Quadrillage, titres, couleurs, trait. 

a) quadrillage : 

* ajouter la commande suivante  au programme précédant : grid 

* Sauvegarder les modifications. ( file save)

* exécutez votre programme.

Que remarquez-vous ? Quel est le rôle de la fonction « grid » ?

b) titres :

1- le titre principal.

* ajouter au programme précédent la commande suivante : title(‘le graphe de la fonction y(t)’)

* Sauvegarder les modifications. 

* exécutez votre programme.

Quel est le rôle de la fonction « title » ?

2- les titres des axes :

* ajouter au programme précédant les commandes suivantes :

xlabel(‘le temps t’)

ylabel(‘la fonction y’)

* Sauvegardez les modifications. 

* exécutez votre programme.

Quel est le rôle des deux commandes « xlabel »  et « ylabel »?

c) les couleurs

* remplacer  l’expression plot(t, y) par l’expression plot (t, y,’r’) 

* Sauvegardez les modifications. 

* exécutez votre programme.

Que remarquez-vous ?

d) le type de trait

* remplacez  l’expression plot (t, y,’r’) par l’expression plot (t, y,’+r’) 

* Sauvegardez les modifications. 

* exécutez votre programme.

Que remarquez-vous ?

Remarques importantes

  1. Pour qu’on puisse écrire plot(t, y), il faut que les vecteurs t et y soient de la  même taille.
  2. Il faut écrire correctement les commandes.
  3. La représentation  graphique doit permettre de visualiser  les détails de la fonction tracée.
  4. On peut faire un ZOOM pour agrandir une région du graphe.  
  5. Pour savoir plus sur les différents types de trait et de couleurs tapez : help plot

3.2.3 tracer deux graphes

a) tracer deux graphes dans deux fenêtre  graphiques séparées

Pour tracer deux graphes dans deux fenêtres graphiques séparées, on peut taper : fenêtre(n) ou n représente le numéro de la fenêtre graphique

Exemple

clear all;

clc

t= [0 : pi/100 : 2*pi] ;

y=sin (0.3*pi*t) ;

y1=cos(0.3*pi*t);

figure(1)

plot(t, y)

grid

title(‘le graphe de la fonction y(t)’)

xlabel(‘le temps t’)

ylabel(‘la fonction y’)

figure(2)

plot(t, y1)

grid

title(‘le graphe de la fonction y1(t)’)

xlabel(‘le temps t’)

ylabel(‘la fonction y1’)

b) tracer deux graphe dans la même fenêtre graphique.

b-1 En utilisant la fonction « hold »

On peut tracer deux ou plusieurs graphes dans la même fenêtre graphique en utilisant la fonction « hold ».

Exemple

clear all;

clc

t= [0 : pi/100 : 2*pi] ;

y=sin (0.3*pi*t) ;

y1=cos(0.3*pi*t);

plot(t, y)

grid

hold 

plot(t, y1,’r’)

Conseil 

Lorsqu’on trace deux graphes dans une même fenêtre, il est conseillé d’utiliser deux couleurs différentes ou    bien deux types de trait différents. 

b-2 En utilisant la fonction « subplot »

La deuxième méthode pour  tracer plusieurs graphes dans une même fenêtre consiste à utiliser la fonction « subplot ». Cette fonction permet de subdiviser la fenêtre graphique utilisée en plusieurs sous -fenêtres. 

Chacune de ces sous -fenêtres se comporte comme une fenêtre à part.

La syntaxe de cette commande est la suivante :

Subplot(n,m,k)  avec

                                 n : nombre de lignes.

                                 m : nombre de colonnes.

                                 k : la position du graphe.

                                                           1                               3 5

                                                               2                            4 6

Exemple 

clear all;

clc

t= [0: pi/100: 2*pi];

y=sin (0.3*pi*t) ;

y1=cos (0.3*pi*t);

y2=sin (0.3*pi*t)+cos (0.3*pi*t);

y3=sin (0.3*pi*t)-cos (0.3*pi*t);

subplot(2,2,1);plot(t, y)

grid 

subplot(2,2,2);plot(t, y1)

grid 

subplot(2,2,3);plot(t, y2)

grid 

subplot(2,2,4);plot(t, y3)

grid 

3.3 Représentation graphique 3D

3.3.1 En utilisant la fonction « plot3 »

La commande « plot3 » est similaire à  la commande « plot » sauf qu’on ajoute un troisième axe Z.

Exemple 

t = 0:0.1:10*pi;

x = exp(-t/20).*cos(t);

y = exp(-t/20).*sin(t);

z = t;

plot3(x,y,z);

xlabel(‘x’);

ylabel(‘y’);

zlabel(‘z’);

grid

Une fois le tacé apparait, vous pouvez modifier la rotation des axes. Ceci est possible soit en utilisant la flèche (figure) soit en tapant la commande « view » dans le programme.  

Fléché de rotation

Exemple (le reste du programme de  l’exemple est dans la page suivante)

t = 0:0.1:10*pi;

x = exp(-t/20).*cos(t);

y = exp(-t/20).*sin(t);

z = t;

subplot(2,2,1);plot3(x,y,z);

xlabel(‘x’);

ylabel(‘y’);

zlabel(‘z’);

view(-10,10);

title(‘Default plot3’);

grid 

subplot(2,2,2);plot3(x,y,z,’og’);

xlabel(‘x’);

ylabel(‘y’);

zlabel(‘z’);

view(-9,56);

title(‘Az=-10, El=10’);

grid

subplot(2,2,3);plot3(x,y,z,’xb’);

xlabel(‘x’);

ylabel(‘y’);

zlabel(‘z’);

view(0,90);

title(‘Az=0, El=90’);

grid

subplot(2,2,4);plot3(x,y,z,’dr’);

xlabel(‘x’);

ylabel(‘y’);

zlabel(‘z’);

view(90,0);

title(‘Az=90, El=0’);

grid

3.3.2  En utilisant la fonction « Mesh  »

Pour tracer une fonction à deux variables ; c à d une fonction de la forme  z=f(x, y) ; on suit les étapes suivantes

  • on définit un maillage régulier, c à d on va construire deux matrice X et Y dont leurs colonnes sont identiques et  prennent la valeur des deux vecteurs x et y. ceci est possible en utilisant la commande « meshgrid ».Pour mieux comprendre cette notion du maillage essayer l’exemple suivant.

Exemple :    

x = [-1 0 1];

y = [9 10 11 12];

[X,Y] = meshgrid(x,y)

  • on donne la formule permettant de définir la matrice Z

Z= f(X,Y)

  • on utilise la commande  « mesh » pour tracer le graphe 3D.

Exemple 

On veut tracer la fonction f définie :  (x,y)xe-x2-y2      définie dans le domaine [-2,2] x [-2,2].

 x=[-2:0.2:2];

y=[-2:0.2:2];

[X ,Y]=meshgrid(x,y);

Z=X.* exp(-X.^2-Y.^2);

mesh(X, Y, Z)

    3.3.3      En utilisant la fonction « surf  »      

La commande « surf » permet de tracer une surface paramétrée d’équations

{x=g1(u,v) y=g2(u,v) z=g3(u,v)

On suit les mêmes étapes  que la commande « mesh ».  

Exemple            

On veut tracer le graphe du système d’équations suivant

{x=v cos(u) y=v sin⁡(u) z=2u            

Sur le domaine [0,2] x [0,2]

v=[0:0.2:2*pi];

u=[0:0.2:2];

[U,V] = meshgrid(v, u);

 X = V.*cos(U);

 Y = V.*sin(U);

 Z = 2*U;

 surf(X,Y,Z)

Remarques 

  •  ils existent d’autres commandes  pour faire une représentation 3D telles que « meshz », « waterfall »,…etc.
  • Utiliser la commande « help » pour avoir l’aide sur ces commandes.

3.4 Représentations  spécifiques 

Exemple 1 : la commande  « bar »

a = [1 2 3 4 5 6 7];

b = [85 93 87 91 95 71 98];

bar(a,b);

xlabel(‘a’)

ylabel(‘b’)

Exemple 2 : la commande « hist »

y = -2*log(rand(1,5000));

x = 0.2:0.4:10; 

hist(y,x);

Exemple 3 : la commande « pie »

pourcentage = [31 36 18 8 7];

h = pie(pourcentage);

Remarque : remplacer la commande « pie »  par « pie3 ». Que ce passe t il ?

Version numérique:


Mourad ELGORMA

Fondateur de summarynetworks, passionné des nouvelles technologies et des métiers de Réseautique , Master en réseaux et système de télécommunications. ,j’ai affaire à Pascal, Delphi, Java, MATLAB, php …Connaissance du protocole TCP / IP, des applications Ethernet, des WLAN …Planification, installation et dépannage de problèmes de réseau informatique……Installez, configurez et dépannez les périphériques Cisco IOS. Surveillez les performances du réseau et isolez les défaillances du réseau. VLANs, protocoles de routage (RIPv2, EIGRP, OSPF.)…..Manipuler des systèmes embarqués (matériel et logiciel ex: Beaglebone Black)…Linux (Ubuntu, kali, serveur Mandriva Fedora, …). Microsoft (Windows, Windows Server 2003). ……Paquet tracer, GNS3, VMware Workstation, Virtual Box, Filezilla (client / serveur), EasyPhp, serveur Wamp,Le système de gestion WORDPRESS………Installation des caméras de surveillance ( technologie hikvision DVR………..). ,

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *