chapitre 2 : programation avec matlab, Study notes of Matlab skills

dans ce cour tu peux programmer avec matlab

Typology: Study notes

2020/2021

Available from 08/06/2021

akram-cheraifia
akram-cheraifia đŸ‡©đŸ‡ż

1 document

1 / 23

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Chapitre 2 : Programmation avec MATLAB
1
CHAPITRE 2 : PROGRAMMATION AVEC MATLAB
Dans le premier chapitre, nous avons vu comment utiliser la Command Window pour exécuter
des commandes ou pour Ă©valuer des expressions. Les commandes utilisĂ©es s’écrivent
gĂ©nĂ©ralement sous forme d’une seule instructions (voir plusieurs dans une mĂȘme ligne).
Cependant, lorsque la tùche à réaliser devient plus complexe (plusieurs dizaines de ligne de
code) ou que l’on souhaite pouvoir la transmettre à quelqu’un d’autre simplement, on utilise
la fenĂȘtre Editor. On a recours Ă  l’utilisation des structures de programmation. Ces structures
se résument en deux outils incontournables de MATLAB : les scripts et les fonctions. Pour
faire des scripts complexes il est souvent nécessaire de faire appel aux structures de
programmation qui font l’objectif de notre deuxiùme chapitre.
Pour visualiser et interprĂ©ter des rĂ©sultats, il est souvent recommandĂ© d’utiliser les
graphiques et les outils de visualisation 2D et 3D de MATLAB. On détaillera à la fin de ce
chapitre certains de ces outils de visualisation.
Les interfaces graphiques sont des outils efficaces qui vous permettent une interaction
conviviale avec les applications développées, que ce soit sur le plan introduction des entrées
ou affichage des résultats. Dans la derniÚre partie de ce chapitre, on apprend à comment
réaliser des interfaces graphiques avec MATLAB.
1) Généralités
1.1. Variables, affectation :
L’instruction d’affectation 𝑛𝑜𝑚 ← 𝑣𝑎𝑙𝑒𝑱𝑟 se code : 𝑛𝑜𝑚 = 𝑣𝑎𝑙𝑒𝑱𝑟. S’il n’existe pas de variable
nommĂ©e 𝑛𝑜𝑚, cette instruction crĂ©e une variable appelĂ© 𝑛𝑜𝑚 et lui affecte𝑣𝑎𝑙𝑒𝑱𝑟. Sinon, sa
valeur sera modifiĂ©e (remplacĂ©e) par la nouvelle 𝑣𝑎𝑙𝑒𝑱𝑟. Lorsqu’une variable est créée, son
nom apparait dans le Workspace avec un icone qui indique la nature de son contenu, et la
description de son encombrement mémoire.
Les noms de variables valides commencent par une lettre et sont en un seul mot. MATLAB
distingue les majuscules et les minuscules.
Il existe cinq types de variables sous MATLAB : les entiers, les réels, les complexes, les chaines
de caractĂšres et le type logique.
1.2. Entrées/Sorties :
Sorties :
1. L’absence du ; Ă  la fin d’une instruction provoque l’affichage du rĂ©sultat de l’instruction.
>> y=3+5
y =
8
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Partial preview of the text

Download chapitre 2 : programation avec matlab and more Study notes Matlab skills in PDF only on Docsity!

CHAPITRE 2 : PROGRAMMATION AVEC MATLAB

Dans le premier chapitre, nous avons vu comment utiliser la Command Window pour exécuter

des commandes ou pour Ă©valuer des expressions. Les commandes utilisĂ©es s’écrivent

gĂ©nĂ©ralement sous forme d’une seule instructions (voir plusieurs dans une mĂȘme ligne).

Cependant, lorsque la tùche à réaliser devient plus complexe (plusieurs dizaines de ligne de

code) ou que l’on souhaite pouvoir la transmettre à quelqu’un d’autre simplement, on utilise

la fenĂȘtre Editor. On a recours Ă  l’utilisation des structures de programmation. Ces structures

se résument en deux outils incontournables de MATLAB : les scripts et les fonctions. Pour

faire des scripts complexes il est souvent nécessaire de faire appel aux structures de

programmation qui font l’objectif de notre deuxiùme chapitre.

Pour visualiser et interprĂ©ter des rĂ©sultats, il est souvent recommandĂ© d’utiliser les

graphiques et les outils de visualisation 2D et 3D de MATLAB. On détaillera à la fin de ce

chapitre certains de ces outils de visualisation.

Les interfaces graphiques sont des outils efficaces qui vous permettent une interaction

conviviale avec les applications développées, que ce soit sur le plan introduction des entrées

ou affichage des résultats. Dans la derniÚre partie de ce chapitre, on apprend à comment

réaliser des interfaces graphiques avec MATLAB.

1) Généralités

1.1. Variables, affectation :

L’instruction d’affectation 𝑛𝑜𝑚 ← 𝑣𝑎𝑙𝑒𝑱𝑟 se code : 𝑛𝑜𝑚 = 𝑣𝑎𝑙𝑒𝑱𝑟. S’il n’existe pas de variable

nommĂ©e 𝑛𝑜𝑚, cette instruction crĂ©e une variable appelĂ© 𝑛𝑜𝑚 et lui affecte𝑣𝑎𝑙𝑒𝑱𝑟. Sinon, sa

valeur sera modifiĂ©e (remplacĂ©e) par la nouvelle 𝑣𝑎𝑙𝑒𝑱𝑟. Lorsqu’une variable est créée, son

nom apparait dans le Workspace avec un icone qui indique la nature de son contenu, et la

description de son encombrement mémoire.

Les noms de variables valides commencent par une lettre et sont en un seul mot. MATLAB

distingue les majuscules et les minuscules.

Il existe cinq types de variables sous MATLAB : les entiers, les réels, les complexes, les chaines

de caractĂšres et le type logique.

1.2. Entrées/Sorties :

Sorties :

  1. L’absence du ; Ă  la fin d’une instruction provoque l’affichage du rĂ©sultat de l’instruction.

y=3+

y =

8

  1. Invoquer le nom d’une variable (qui existe) sans ; permet l’affichage de son nom et de

sa valeur :

x=3+9;

x

x =

12

  1. L’instruction disp : l’instruction 𝑑𝑖𝑠𝑝(𝑛𝑜𝑚𝑏𝑟𝑒) provoque l’affichage du nombre qu’elle

reçoit en argument.

disp(2*15)

30

L’instruction 𝑑𝑖𝑠𝑝(đ‘Ąđ‘’đ‘„đ‘Ąđ‘’) provoque l’affichage du texte qu’elle reçoit en argument.

disp('hello world!!');

hello world!!

L’instruction 𝑑𝑖𝑠𝑝(𝑛𝑜𝑚 𝑑𝑒 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒) provoque l’affichage du contenu de la variable

qu’elle reçoit en argument.

x=(6+4)*15;

disp(x);

150

  1. Message d’erreur : la commande 𝑒𝑟𝑟𝑜𝑟(‘𝑚𝑒𝑠𝑠𝑎𝑔𝑒’) permet d’afficher en rouge le texte

𝑚𝑒𝑠𝑠𝑎𝑔𝑒 et arrĂȘte l’exĂ©cution en indiquant l’endroit de l’erreur.

error('message')

??? message

Entrées :

  1. La commande đ‘„ = 𝑖𝑛𝑝𝑱𝑡(‘𝑠𝑎𝑖𝑠𝑖𝑟 𝑱𝑛𝑒 𝑣𝑎𝑙𝑒𝑱𝑟’) affiche Ă  l’écran 𝑠𝑎𝑖𝑠𝑖𝑟 𝑱𝑛𝑒 𝑣𝑎𝑙𝑒𝑱𝑟 et attend

qu’une rĂ©ponse soit saisie (tapĂ©e) au clavier et validĂ©e par un đ‘’đ‘›đ‘Ąđ‘ŸĂ©đ‘’. La rĂ©ponse sera

affectée à x aprÚs la validation.

x=input('saisir une valeur'); % saisir une valeur au clavier

saisir une valeur 5 % l’utilisateur tape 5

x % 5 est affecté a x x

=

5

1.3. Commentaires : les caractĂšres qui suivent % ne sont pas lus par MATLAB.

Cette fonctionnalitĂ© sert Ă  Ă©crire des commentaires (explications) Ă  l’usage des

utilisateurs.

x=input('saisir une valeur'); %la commande input permet de saisir une valeur au clavier saisir

une valeur 6

1.4. Les expressions logiques : le langage MATLAB dispose en standard de deux

valeurs logiques : 0 représente Faux/ False et 1 qui représente Vrai/ True.

Un test ou expression logique est une expression qui retourne une valeur logique. Le

Tableau 2.1 montre les opĂ©rateurs de comparaison qui s’appliquent sur des variables

numériques réelles et entre caractÚres.

Opérateur Objectif

x=15;

y=30;

x<y %x=15 est inférieur à y=30 affiche 1 vrai ans

=

1

x<=y %x=15 est inférieur à y=30 affiche 1 vrai ans

=

1

x==y %x est différent de y donc affiche 0 faux ans

=

0

(0<x)&(y<50) %30 affiche 1 vrai

ans =

1

(x>15)|(y>55) %affiche 0 faux

ans =

0

~(x>15) % affiche 1 vrai- la négation de x>15 qui est faux (0)

ans =

1

10&1 % 10 est considéré comme vrai 1. 1&1=1 vrai

ans =

1

10&0 %1&0=0 faux

ans =

0

Noté bien :

 Si đ‘„ et 𝑩 sont de type caractĂšre (l’affectation est un caractĂšre), alors, les

commandes :

  1. đ‘„ == 𝑩 retourne 1 si la valeur affectĂ© Ă  la variable đ‘„ est Ă©gale Ă  celle

affectĂ©e Ă  𝑩 et 0 sinon ;

  1. đ‘„ < 𝑩 renvoie 1 si la valeur de đ‘„ prĂ©cĂšde celle de 𝑩 dans l’ordre

alphabĂ©tique conventionnel utilisĂ© par MATLAB, 0 sinon. L’ordre

utilisĂ© par MATLAB utilise les conventions suivantes : â€Č â€Č < ⋯ <

â€Č

â€Č

â€Č

â€Č

â€Č

â€Č

â€Č

â€Č

â€Č

â€Č

â€Č

. Les caractÚres accentués

sont plus loin dans la table.

 On peut combiner les expressions logiques Ă  l’aide des trois opĂ©rateurs

logiques (&, |, ~). Par exemple l’expression (𝑁 > 0)&(𝑁 == 𝑟𝑜𝑱𝑛𝑑(𝑁))

retourne 1 (vrai) si la variable rĂ©elle 𝑁 contient un entier strictement positif

et 0 (faux) sinon.

 La comparaison des vecteurs et des scalaires diffĂšre des scalaires. Il

existe des fonctions prédéfinies qui font ces comparaisons comme :

𝑖𝑠𝑒𝑞𝑱𝑎𝑙, 𝑖𝑠𝑒𝑚𝑝𝑡𝑩. 𝑖𝑠𝑒𝑞𝑱𝑎𝑙 Teste si deux (voir plusieurs) matrices sont Ă©gaux

(ayant les mĂȘmes Ă©lĂ©ments partout, elle renvoie 1 si oui sinon 0). 𝑖𝑠𝑒𝑚𝑝𝑡𝑩

teste si une matrice est vide (ne contient pas d’élĂ©ments), elle renvoie 1 si oui

sinon 0.

>> A=[1 2 3;4 5 6] %définition de A

A =

1 2 3

4 5 6

>> B=[1 2 3;4 5 6] %définition de A

B =

1 2 3

4 5 6

>> A==B % tester si A et B sont égaux (leurs éléments sont-ils égaux ou non ?)

ans =

1 1 1

1 1 1

>> isequal(A,B) % tester si A et B sont égaux aussi (équivalente a A==B) ans

=

1

>> M=[]; % dĂ©finition d’une matrice M vide

>> isequal(M,A)

ans =

0

>> isempty(M) % tester si la matrice M est vide?

ans =

1

2) Les fonctions sous MATLAB

2.1. Définitions

Une fonction c’est un script qui commence par le mot 𝒇𝒖𝒏𝒄𝒕𝒊𝒐𝒏. Une fonction permet

d’étendre les possibilitĂ©s au-delĂ  des fonctions prĂ©programmĂ©es par les dĂ©veloppeurs de

MATLAB. Elle reçoit en entrĂ©e variables d’entrĂ©es appelĂ©es aussi

. Elle donne en sortie variable appelĂ©e aussi . Les variables d’entrĂ©e et de sortie peuvent ĂȘtre des matrices. Attention,

lors de l’appel d’une fonction, c’est l’ordre des variables d’entrĂ©e et non pas leur nom qui

détermine leur utilisation.

On utilise la syntaxe suivante pour créer une fonction dont :

 le nom est ;

 qui prend en variables d’entrĂ©e ;  qui a comme rĂ©sultat

Exemples de fonctions :

  1. Ă©crivez la fonction fonc1 qui modifie le programme prĂ©cĂ©dent pour qu’il affiche

function [str]=fonc1(prenom)

str=['hello ', prenom];

end

  1. on sauvegarde la fonction sous le nom. puis on l’appelle depuis la

pour son exécution, mais cette fois avec un paramÚtre en entré de

type chaine de caractĂšre:

1

2

𝑛

𝑑𝑒𝑠𝑐𝑟𝑖𝑝𝑡𝑖𝑜𝑛 𝑑𝑱 đ‘đ‘Ÿđ‘œđ‘Ă©đ‘‘ Ă© 𝑑𝑒 𝑐𝑎𝑙𝑐𝑱𝑙 𝑑𝑒 𝑌 𝑎𝑱 𝑚𝑜𝑩𝑒𝑛 𝑑𝑒 đ‘„

1

2

𝑛

Noté bien :

 Le Tableau 2.3 montre une comparaison entre une fonction et un script MATLAB.

Cette comparaison concerne la structure du programme et la façon de l’exĂ©cuter ou

de l’invoquer dans la đ¶đ‘œđ‘šđ‘šđ‘Žđ‘›đ‘‘ đ‘Šđ‘–đ‘›đ‘‘đ‘œđ‘€.

Un programme (script) Une fonction

Structure

x=input('donner un nombre positif: ');

y=input('donner un nombre positif:

'); z=x+y; disp('la somme = '); disp(z);

function z=

somme(x,y) z=x+y; end

Exécution

pgm2 %le nom du programme suffit

donner un nombre positif: 5

donner un nombre positif: 15

la somme =

20

somme(3,7) % il faut les paramĂštres d’entrĂ©es ans

=

10

Utilisation

2*pgm2+4 %utilisation interdite

??? Attempt to execute SCRIPT pgm2 as a

function.

2* somme(5,4) +5 %utilisation permise

ans =

23

Tableau 2.3: Comparaison entre un programme et une fonction MATLAB

3) Création de programmes (scripts MATLAB)

Un programme MATLAB est un fichier stocké avec le suffixe. ou.. Un fichier programme

est appelĂ© le script de ce programme. Les noms de fichiers doivent ĂȘtre en un seul mot (pas

d’espace) et sans accent, ni tiret ni point (sauf le .M). On peut utiliser le caractùre de

soulignement ‘ _’. On utilise la fenĂȘtre pour crĂ©er un script. Un script est une suite de

commande que l’on aurait tout aussi bien pu taper dans la Command Window.

Pour créer un nouveau script, suivez les étapes suivantes :

  1. Ouvrir Editor-Debugger par :

ou ;

Figure 2.1 : créer un nouveau script MATLAB (méthode 1)

AprĂšs l’utilisation de l’une des deux mĂ©thodes prĂ©cĂ©dentes, vous aurez une fenĂȘtre de

l’editor MATLAB similaire Ă  celle dans la Figure 2.3. C’est lĂ  oĂč vous devez Ă©crire vos

scripts et fonctions MATLAB.

  1. Tapez une suite d’instructions dans l’éditeur ;
  2. Sauvegarder par l’un des procĂ©dĂ©s suivants : 𝑓𝑖𝑙𝑒 → 𝑠𝑎𝑣𝑒 𝑎𝑠 ou 𝑓𝑖𝑙𝑒 → 𝑠𝑎𝑣𝑒 ou

C’est possible d’exĂ©cuter un script MATLAB de deux façons diffĂ©rentes :

  1. Invoquer son 𝑛𝑜𝑚 (le nom sous lequel il a Ă©tĂ© enregistrĂ©) sans l’extension. 𝑚 dans la

đ¶đ‘œđ‘šđ‘šđ‘Žđ‘›đ‘‘ đ‘Šđ‘–đ‘›đ‘‘đ‘œđ‘€ (voir Figure 2.5 oĂč tp11 c’est le nom du script Ă  exĂ©cuter).

Figure 2. 2 : créer un nouveau script MATLAB (méthode 2)

Figure 2. 3 : Editor MATLAB

Figure 2. 4 : enregistrer un script MATLAB

pour exĂ©cuter aller sur le bouton 𝑟𝑱𝑛, ou invoquer le nom du programme (nom de

sauvegarde)

pgm

str =

Hello World !!

  1. Ă©crire un programme qui demande deux nombres 𝑎 et 𝑏, puis calcule et affiche le

quotient

On peut dĂ©duire l’algorithme Ă©quivalent :{ 𝑐

Le code MATLAB (Ă  taper dans 𝐾𝑑𝑖𝑡𝑜𝑟 − đ·đ‘’đ‘đ‘ąđ‘”đ‘”đ‘’đ‘Ÿ − đ‘Šđ‘–đ‘›đ‘‘đ‘œđ‘€) est :

disp('donner deux nombres pour calculer le quotient a/b');

A=input('tapez a= ');

B=input(' b= ');

C=A/B;

disp('le quotient = ');

disp(C);

On exĂ©cute dans la đ¶đ‘œđ‘šđ‘šđ‘Žđ‘›đ‘‘ đ‘Šđ‘–đ‘›đ‘‘đ‘œđ‘€ de la mĂȘme façon que l’exemple 1 :

pgm2 donner deux nombres pour calculer le quotient a/b tapez a= 9 b= 3

le quotient =

3

Un script fait souvent appelle Ă  des fonctions dĂ©finies par le programmeur (voir mĂȘme des

fonctions prédéfinies). La forme générale d'un programme simple, consistant en un script qui

appelle une fonction pour calculer et renvoyer une valeur, ressemble au diagramme illustré à

la Figure 2.7.

Exemple :

  1. Ă©crire la fonction factoriel permettant de calculer le factoriel d’un nombre entier x ;

function f=factoriel(x)

f=1;

for i=2:x

f=f*i;

end

  1. écrire le script MATLAB permettant de saisir un nombre entier et affiche son factoriel (le

script doit faire appel Ă  la fonction factoriel.m).

x=input('donner une valeur');

disp('le factoriel de x est: ');

factoriel(x) %%appel de la fonction factoriel

Figure 2.7. Forme gĂ©nĂ©rale d’un script appelant une fonction

4) Les structures de contrĂŽle

4.1. Alternative if :

Les instructions se traduit comme suit sous MATLAB, mais

aucun mot ne traduit. Il y a trois versions qui traduit cette instruction :

1) Version courte (conditionnelle simple): Si test est une expression logique, le code de la

structure :

Devient

Exemple : La fonction suivante affiche! si le nom passé en argument

=’Nawel’, ne fait rien autrement.

function nom(x) if

x=='nawel'

disp('Bonjour!!');

end

L’exĂ©cution dans la donne:

pgm2('nawel') %si le nom = nawel le programme affiche Bonjour Bonjour!!

pgm2('laval') %si le nom est different de nawel, le programme n’affiche rien

2) Version normale (conditionnelle alternative): Si test est une expression logique, le code

de la structure :

Devient

Exemple : le programme suivant permet d’afficher si un nombre est positif ou nĂ©gatif

x=input('donner nombre');

if x<0 disp('nombre

négatif'); else

disp('nombre positif'); end

En exécutant dans la , on aura :

donner nombre- 5

nombre négatif >>donner

nombre6 nombre positif

donner nombre

nombre positif

3) Version compliqué (conditionnelle imbriquée): quand on dispose de trois conditions

(cases) ou plus, on a recours à l’utilisation des si dans les rubriques sinon pour achever

tous les conditions. La structure est la suivante :

donner nombre

x = 0

donner nombre1000 x

= 1000

donner nombre2000 x

= 2000

donner nombre

x n'est pas 0 ni 1000 ni 2000

4.3. Les boucles (répétitions) :

Une boucle permet de rĂ©pĂ©ter la mĂȘme commande un grand nombre de fois en faisant varier

un paramĂštre. On verra deux types de boucles : boucles while (tantque) et for (pour).

1) La boucle while

RĂ©pĂšte l’exĂ©cution d’un ensemble d’instructions un nombre indĂ©terminĂ© de fois, selon

l’évaluation d’une condition logique. Elle s’écrit syntaxiquement comme suit :

| 𝒊𝒏𝒔𝒕𝒓𝒖𝒄𝒕𝒊𝒐𝒏𝒔 Devient en MATLAB : | 𝒊𝒏𝒔𝒕𝒓𝒖𝒄𝒕𝒊𝒐𝒏𝒔

Tant que la condition du while (expression) est correcte (évaluée par un true ) la partie

instructions sera exécutée encore.

Exemple : écrire une fonction somme qui prend en entrée un réel , donne un

message d’erreur si , sinon calcule et donne en sortie le plus petit tel que la

somme est supérieure à.

Analyse :

La structure algorithmique de la fonction est :

L’arrĂȘt de la rĂ©pĂ©tition a lieu pour la premiĂšre valeur telle que.

Le code MATLAB équivalent est :

function N=somme(x)

if(x<=0)|(x>=20)

error('x non conforme');

else

N=0; S=0; %initialisation de N et S

while S<=x

N=N+1; %N est incrémenté (augmente) de 1

S=S+1/N; % $S_n$ est remplacée par $S_n+1$

end %end while end %end if

2) La boucle for

La boucle for rĂ©pĂšte l’exĂ©cution d’un groupe d’instructions un nombre dĂ©fini de fois (le

nombre de rĂ©pĂ©titions voir itĂ©ration est connu Ă  l’avance). Une boucle for se dĂ©finie

syntaxiquement comme suit :

Devient en MATLAB :

 La boucle effectue instructions pour les valeurs comprises entre et

suivantes : et ainsi de suite. Par contre si

alors instructions n’est pas effectuĂ©e ; de mĂȘme si.

 Si h=1, on ne peut pas l’écrire, donc les Ă©critures et

sont équivalentes.

Exemple : écrire une fonction qui prend comme entrée un entier , et

donne en sortie!

Analyse : La structure algorithmique de la fonction est :

Le code MATLAB équivalent est :

function f=factorielle(n)

f=1;

for i=1:n

f=f*i; end

3) Sorties continue et break en cours d’instruction

Dans les structures de boucles, un bloc d'instructions est exécuté un certain nombre de fois, et ce

nombre de fois peut mĂȘme ĂȘtre infini dans le cas de boucles while.

Deux instructions permettent d'interrompre l'exécution d'un bloc d'instructions d'une boucle.

  1. Continue: interrompt l'exécution du bloc d'instructions en cours d'exécution, et passe à

l'itération suivante de la boucle for ou while.

  1. Break: interrompt l'exécution du bloc d'instructions en cours d'exécution, et sort

totalement de la boucle for ou while, en ignorant les itérations suivantes

Exemple 1 (continue): le programme MATLAB qui permet d’afficher les nombres divisibles par 7 compris

entre 7 et 50. L’instruction continue permet si un nombre non divisible par 7 d’ignorer son affichage avec

l’instruction disp et passe au nombre suivant.

for n = 1:

if mod(n,7)

continue

end

disp(['Divisible by 7: ' num2str(n)]) end

L’exĂ©cution sur CW donne :

Divisible by 7: 7

Divisible by 7: 14

Divisible by 7: 21

Divisible by 7: 28

Divisible by 7: 35

Divisible by 7: 42

Divisible by 7: 49

Exemple 2 (break):

A=[3 4 5; 7 - 2 8; 2 1 0]

A =

3 4 5

7 - 2 8

2 1 0

plot(A)

 S’il y a un seul vecteur comme paramĂštre, alors elle considĂšre les valeurs du vecteur

comme les Ă©lĂ©ments de l’axe Y (les ordonnĂ©es), et leurs positions relatives dĂ©finissons

l’axe X (les abscisses).

Exemple :

v=[2 3 4 - 3 7 8]

v =

2 3 4 - 3 7 8

plot(v)

 Si đ‘„ et 𝑩 sont des vecteurs, alors elle considĂšre les valeurs du premier vecteur comme

les Ă©lĂ©ments de l’axe des abscisses et les Ă©lĂ©ments du deuxiĂšme comme ceux des

ordonnées.

v=[2 3 4 - 3 7 8]

v =

2 3 4 - 3 7 8

z=[7 1 4 - 2 5 9]

z =

7 1 4 - 2 5 9

plot(v,z)

 Un troisiĂšme paramĂštre de type chaine peut ĂȘtre prĂ©sent. Il autorise des couleurs et des

formes variées pour les points de la courbe et le style du tracé. Cette chaine de caractÚres

peut contenir Ă  la fois une couleur, un style de ligne et un marqueur de point. Si le style

de ligne est absent, seuls les marqueurs sont tracés (voir Tableau 2.4 ). La commande

devient alors : plot (x,y,’marqueur’).

Symbol signification Symbol signification Symbol signification

y Jaune (yellow) : Pointillé s Carré (square)

m Magenta -. Tirets-points d Diamant (diamond)

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3

  • 2
  • 1

0

1

2

3

4

5

6

7

8

1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6

  • 4
  • 2

0

2

4

6

8

  • 4 - 2 0 2 4 6 8
  • 2

0

2

4

6

8

10

c Cyan _ Tirets ^ Triangle supérieur

r Rouge (red)

Point

v Triangle inférieur

g Vert (green) ◩

Cercle > Triangle droit

b Bleu (blue) + Plus < Triangle gauche

w Blanc (white) - Trait p Pentagramme

k Noir (black) ***** étoile h hexagramme

× Croix

Tableau 2.4: chaines permettant la modification de la couleur, style de courbe et

la représentation des points

Exemple : tracer la fonction 𝑩 = 𝑠𝑖𝑛(đ‘„) avec đ‘„ ∈ [0 
 2𝜋] avec un 𝑠 = 𝜋⁄ 6. En changeant le

marqueur on obtient différentes résultats (voir Tableau 2.5 )

x=0:pi/6:2*pi;

y=sin(x);

Tableau 2.5: résultats de graphs avec des marqueurs différents

5.2. Tracés de fonctions et de données 3D

MATLAB a des fonctions qui afficheront des courbes 3D (sur 3 axes). Pour tracer des courbes

3D on utilise la fonction prĂ©dĂ©finie de MATLAB plot3(X,Y,Z) oĂč X, Y et Z sont soit des vecteurs

soit des matrices. Ces fonctions affichent les points dans l'espace 3D. Cliquer sur l'icĂŽne de

rotation 3D puis dans la courbe permet Ă  l'utilisateur de faire pivoter pour voir la courbe sous

différents angles. De plus, l'utilisation de la fonction de grid facilite la visualisation, comme le

montre la Figure 2.8.

Le code MATLAB permettant de tracer la courbe 3D de la Figure 2.8 est le suivant ; oĂč la

fonction zlabel est utilisée pour étiqueter l'axe z.

5.3. Graphes spécifiques :

MATLAB dispose de plusieurs routines permettant de tracer des graphes spécifiques (voir

Tableau 2.6 ) :

Fonction signification

bar barres

errorbar Barre d’erreur

hist Histogramme

polar Coordonnées polaires

rose Histogramme angulaire

stairs Marche d’escalier

Tableau 2.6: fonctions de graphes spécifiques sous MATLAB

Exemple : voici un exemple de tracé avec les différentes fonctions dans le Tableau 2.6.

x=linspace(0,1,1000);

>> polar(sin(8.x.pi), cos(12.x.pi),'oy')**

>> x=linspace(0,8pi,1000);*

>> rose(x.x,20)*

>> x=linspace(0,4pi,20);*

>> errorbar(x,sin(x),0.1sin(x))*

>> x=linspace(0,4pi,20);*

>> bar(x,sin(x))

  • 2 0 2

4 6 8 10 12 14

>> x=linspace(0,4pi,20);*

>> hist(sin(x))

>> x=linspace(0,4pi,20);*

>> stairs(x,sin(x))

Tableau 2.7: exemples de tracé avec fonctions spécifiques MATLAB

5.4. Organiser les graphes

Les trois outils de haut niveau pour organiser les graphes sont :

 : conservation/effacement des tracĂ©s prĂ©cĂ©dents ;

 : nouvelle fenĂȘtre ;

 : axes multiples dans une mĂȘme fenĂȘtre.

Si l’on dĂ©sire tracer plusieurs graphes, trois possibilitĂ©s existent :

 Les tracer tous dans les mĂȘmes axes ;

 Les tracer tous la mĂȘme fenĂȘtre, dans des axes distincts ;  Les tracer dans des fenĂȘtres

différentes.

Et on peut évidemment mélanger ces options.

1) Graphes dans les mĂȘmes axes : Pour pouvoir tracer plusieurs graphes successivement

et en les superposant, il faut, aprÚs avoir effectué un premier tracé, exécuter au moins

une fois la commande : ℎ𝑜𝑙𝑑 𝑜𝑛. Pour annuler son effet, il suffit de taper la commande

ℎ𝑜𝑙𝑑 𝑜𝑓𝑓. Exemple :

20

40

60

80

30

210

60

240

90

270

120

300

150

330

180 0

    • 1

0

1

  • 1 - 0.8 - 0.6 - 0.4 - 0.2 0 0.2 0.4 0.6 0.8 1

0

1

2

3

4

0 2 4 6 8 10 12 14

  • 1

0

1