maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · web...

14
TP : Informatique 2 eme année ST TP N0 2 scripts et graphisme sous Matlab 1. Objectifs apprendre à écrire des scripts. savoir faire une représentation 2D et 3D. 2. 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 : TP préparé par : N.Dib, R.Benali & O.Behadada Page 1

Upload: others

Post on 13-Mar-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

TP N0 2 scripts et graphisme sous Matlab

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

2. 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 :

TP préparé par : N.Dib, R.Benali & O.Behadada Page 1

Page 2: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

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.

TP préparé par : N.Dib, R.Benali & O.Behadada Page 2

Page 3: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

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 582 6 8 107 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.

M 2=7 9 11 132 6 8 1012 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.

TP préparé par : N.Dib, R.Benali & O.Behadada Page 3

Page 4: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

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.

0 5 10 15 20 25 30 35 40 45 500

20

40

60

80

100

120

une variation importante

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 : y (t )=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 ».

TP préparé par : N.Dib, R.Benali & O.Behadada Page 4

Page 5: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

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)’)

TP préparé par : N.Dib, R.Benali & O.Behadada Page 5

Page 6: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

* 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

TP préparé par : N.Dib, R.Benali & O.Behadada Page 6

Page 7: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

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;clct= [0 : pi/100 : 2*pi] ;y=sin (0.3*pi*t) ;y1=cos(0.3*pi*t);figure(1)plot(t, y)gridtitle('le graphe de la fonction y(t)')xlabel('le temps t')ylabel('la fonction y')figure(2)plot(t, y1)gridtitle('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;clct= [0 : pi/100 : 2*pi] ;y=sin (0.3*pi*t) ;y1=cos(0.3*pi*t);plot(t, y)gridhold 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.

TP préparé par : N.Dib, R.Benali & O.Behadada Page 7

Page 8: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

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;clct= [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

TP préparé par : N.Dib, R.Benali & O.Behadada Page 8

Page 9: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

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');

TP préparé par : N.Dib, R.Benali & O.Behadada Page 9

Page 10: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

gridsubplot(2,2,3);plot3(x,y,z,'xb');xlabel('x');ylabel('y');zlabel('z');view(0,90);title('Az=0, El=90');gridsubplot(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 )→ x e−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

TP préparé par : N.Dib, R.Benali & O.Behadada Page 10

Page 11: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

{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 »

TP préparé par : N.Dib, R.Benali & O.Behadada Page 11

Page 12: maurise-software.e-monsite.commaurise-software.e-monsite.com/.../files/tp-n0-2-matlab.docx · Web viewTP N0 2 scripts et graphisme sous Matlab O bjectif s apprendre à écrire des

TP : Informatique 2eme année ST

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 ?

TP préparé par : N.Dib, R.Benali & O.Behadada Page 12