I- BUT DE LA MANIPULATION
Le but de ce TP est de se familiariser avec le logiciel Matlab qui sera utilisé pour tous les TP
de traitement de signal. Matlab (MATrix LABoratory) est un logiciel de calcul numérique,
calcul matriciel et de représentations graphiques.
La première partie est une introduction à Matlab, la deuxième partie se compose de plusieurs
exercices.
Répertoire de travail
Ligne de commande
Variable en mémoire
Fenêtre de commande
Pour effacer l’espace de travail, tapez : >> clc. Ceci effacera toute la fenêtre de commande,
mais pas les variables créées dans la fenêtre ‘’Workspace’’.
Pour complètement effacer le Workspace et toutes les variables en mémoire, tapez dans la
fenêtre de commande : >> clear.
Il est possible de ne détruire qu’une partie des variables en tapant : >> clear nom-var.
nom-var, est le nom de la variable détruite.
a = 25
a = 25 ;
a
disp(a)
Si une commande est trop longue pour tenir sur une ligne, il est possible de poursuivre sur la
ligne suivante et terminant la ligne par trois points (…).
II-2 VECTEUR
>> x = [6 4 7] ;
Ou bien x = [6, 4, 7] ;
On définit un vecteur colonne en donnant la liste de ses éléments séparés par des points
virgules ou par des retours chariots :
>> y = [6 ; 4 ; 7] ;
Ou bien
y = [6
4
7]
La commande ‘’size’’ permet d’obtenir les dimensions d’un vecteur donné. Les dimensions
d’un vecteur peuvent être récupérées sous forme d’un vecteur [m n] :
m : nombre de lignes
n : nombre de colonnes
>> size(x)
Exemple :
>> length(x)
Matlab offre deux fonctions ‘’linspace’’ et ‘’logspace’’ qui créent des vecteurs lignes.
Exemple : Le vecteur de 1001 éléments dont le premier est -400, le dernier est 600 est donné
par :
linspace(-400,600,1001)
Si les composantes d’un vecteur sont espacées d’un pas constant et si la première et la
dernière valeur sont connues, alors ce vecteur peut être décrit de la manière suivante :
II-2-3 Opérations
L’addition et la soustraction des vecteurs de même dimension se font élément par élément.
Exemple :
De même, la multiplication et la division d’un vecteur par un scalaire sont réalisées sur toutes
composantes du vecteur.
Le produit d’un vecteur colonne de taille n par un vecteur ligne de taille m donne une matrice
de dimensions (n,m).
Exemple :
En précédant d’un point les opérateurs ‘’*, /, \ et ^’’, on réalise des opérations élément par
élément.
Exemple :
>> x.^2
ans =
1 25 9
II-2-4 Fonctions
Plusieurs fonctions opérant directement sur les vecteurs sont disponibles sous MATLAB :
sum : somme des composantes d’un vecteur.
fliplr (flip left-right) : échange les positions des éléments du vecteur x de gauche à droite.
> x = [1 2 5 8 3 4]
x=
1 2 5 8 3 4
>> fliplr(x)
ans =
4 3 8 5 2 1
flipud (flip up-down): échange les positions des éléments du vecteur x de haut en bas.
>> x = [1 5 8;2 6 9]
x=
1 5 8
2 6 9
>> flipud(x)
ans =
2 6 9
1 5 8
II-3 MATRICE
>> a = [1 2 5; 8 6 9]
a=
1 2 5
8 6 9
>> a = [1 2 5
8 6 9]
a=
1 2 5
8 6 9
>> m = [ ]
A partir d’une matrice, on peut écrire une autre matrice, un vecteur ou l’un de ses éléments, à
l’aide du symbole deux point ‘’ : ‘’.
> eye(3)
ans =
1 0 0
0 1 0
0 0 1
2. Matrice nulle
zeros(m,n) : matrice de zéros de dimension m x n.
>> zeros(2,3)
ans =
0 0 0
0 0 0
3. Matrice unité
ones(m,n) : matrice unité de dimension m x n.
>> ones(2,4)
ans =
1 1 1 1
1 1 1 1
4. Matrice aléatoire
rand(m,n) : matrice à m lignes et n colonnes dont les éléments sont générés d’une manière
aléatoire entre 0 et 1.
>> rand(2,4)
ans =
0.8147 0.1270 0.6324 0.2785
0.9058 0.9134 0.0975 0.5469
Pour une matrice carrée unité, nulle ou aléatoire, il suffit d’indiquer l’ordre comme seul
argument des fonctions ones, zeros et rand.
1. Multiplication
Si la matrice a est de taille (m,n) et b de taille (n,p) alors a*b a pour taille (m,p).
a11 a12 b11 b12 a11 . b11 + a12 . b21 a11 . b12 + a12 . b22
. =
a 21 a 22 b21 b22 a 21 . b11 + a 22 . b21 a 21 . b12 + a 22 . b22
2. Puissance
>> a = [9 4;5 3]; a^2
ans =
101 48
60 29
II-4 GRAPHIQUES
La commande plot(x , y ) permet de tracer des courbes ou nuages de points du vecteurs y en
fonction de x. x et y sont des vecteurs de données de mêmes dimensions.
Si aucune option n’est déclarée, le type de tracé est par défaut de couleur noire, de trait
continu.
La commande ‘’grid’’ permet d’ajouter le quadrillage. ‘’grid off’’ supprime le quadrillage du
graphique courant.
Exemple : Tracer les fonctions suivantes sur une même page : sin(t), cos(t), e-t et sin(t).e-0.1t.
t=0:0.01:30;
x=sin(t);
z=cos(t);
y=exp(-t);
r=sin(t).*exp(-0.1*t);
subplot(2,2,1)
plot(t,x)
grid;
title('sin(t)') sin(t) cos(t)
xlabel('t') 1 1
ylabel('x')
subplot(2,2,2) 0 0
x
plot(t,z,'m:')
grid; -1 -1
0 10 20 30 0 10 20 30
title('cos(t)') t t
xlabel('t') exp(-t) sin(t).exp(-0.1t)
1 1
ylabel('z')
subplot(2,2,3)
0.5 0
plot(t,y,'r')
y
grid;
0 -1
title('exp(-t)') 0 10 20 30 0 10 20 30
xlabel('t') t t
ylabel('y')
subplot(2,2,4)
plot(t,r,'--g')
grid;
title('sin(t).exp(-0.1t)')
xlabel('t')
ylabel('r')
III- EXERCICES
EXERCICE 1 :
EXERCICE 2 :
EXERCICE 3 :
2) Changer la valeur de l’élément dans la deuxième ligne, sixième colonne. Que se passe-t-il ?
6) Créer D sous matrice de A faite des deux premières lignes et les deux dernières colonnes
de A.
EXERCICE 4:
Calculer si c’est possible le produit u*v, u*v’, u’*v, et u.*v des vecteurs suivants en
analysant la réponse de Matlab :
EXERCICE 5:
1 −2 0 − 5 3 2
Soient les matrices suivantes : A = − 4 5 − 6 , B = 0 −2 6
11 8 10 7 0 25
2 0 − 1
et C = .
9 12 − 13
Que donne les instructions suivantes : A*B, A.*B, A*C, A.*C, C*A, A./B, B./C,
EXERCICE 6 :