Vous êtes sur la page 1sur 4

Université de Ouargla Faculté des nouvelles technologies de l'information et de la communication

Département d’Electronique et de Télécommunications 3ème Année «LMD-Télécommunications (S5)»

Module : TP Traitement du signal

TP1 : Prise en main de Matlab


I- Objectif du TP
Le but de ce TP est de vous familiariser avec le logiciel Matlab qui sera utilisé pour tous les TPs de
traitement de signal. Dans ce TP vous trouverez en première partie une présentation rapide du
logiciel et en deuxième partie le TP proprement dit qui se compose d’exercices à faire.

II- Introduction
Matlab signifie Matrix laboratory. C’est un logiciel de calcul numérique développé par la société
MathWorks depuis 1984 et spécialisé dans le calcul matriciel. Il est destiné à traiter des applications
à partir des outils de l’analyse numérique matricielle. Matlab possède aussi tout un ensemble de
fonctionnalités graphiques permettant de visualiser les résultats numériques.

L’interface de Matlab est composée de plusieurs parties (que l’on peut afficher ou non à l’aide du
menu Desktop) :
– la fenêtre de commande (command window) où l’on tape les instructions ;
– le répertoire courant (current directory) qui affiche le contenu du dossier courant ;
– l’espace de travail (workspace) qui contient la liste des variables existantes ;
– l’éditeur (editor) qui permet de créer des scripts ou des fonctions Matlab.
Seule la première nous intéresse pour l’instant. Pour que cette fenêtre soit la seule visible, il suffit de
sélectionner Desktop Layout/Command Window Only dans le menu View .

III- Manipulation
III-1- Variables scalaires
On génère trois variables scalaires a, b et c de la manière suivante :
>> a=2 ;
>> b=4;
>> c=7 ;
On peut consulter la valeur d’une variable en entrant son nom :
>> a
Les valeurs des variables sont mémorisées automatiquement avec leurs noms.

III-2- Taille des variables dans la mémoire


La taille d’un scalaire de type « double » est 8 Bytes = 8 Octets = 64 Bits
Commandes de base :
• who et whos : Affiche la taille mémoire et types de toutes les variables utilisées.
• cd : Affiche le répertoire (directory) où vous opérez en ce moment.
• what, dir : Affiche la liste les noms des fichiers contenus dans le répertoire actuel.
• help nom_fonction : Donne un descriptif de la fonction et ses arguments d’entrée sortie.

Page 1 sur 4
III-3- Opérations sur les variables
>>d=a+b+c
>>e=a+b*c
>>f=(a+b)*c
>>g=(a/b)*c
>>h=a^2

III-4- Les matrices et les variables vectorielles


• [a b c] est un vecteur ligne.
• [a ;b ;c ;] est un vecteur colonne.
• V’ est le transposé du vecteur V
Pour créer un vecteur dont les éléments constituent une suite arithmétique (suite de nombres de a à
b par un pas p), on peut utiliser l’opérateur d’énumération : valeur initiale:pas:valeur finale
• u=1:5 est le vecteur [1 2 3 4 5] (de même que [1 :5] et (1 :5).
• t=0 :2 :15 est le vecteur [0 2 4 6 8 10 12 14]
• sin(t) est le vecteur [sin(0) sin(2) …sin(14)]
• zeros(1,N) est le vecteur ligne nul à N éléments.
• ones(1,N) est le vecteur ligne à N éléments égaux à 1.

Pour récupérer ou affecter un élément d’une matrice, il suffit d’écrire la variable suivie des
coordonnées de l’élément entre parenthèses. Ainsi, D(1,3) vaut 3.

Certaines fonctions permettent de créer des matrices particulières :


– eye(n) crée une matrice identité de dimension n ;
– ones et zeros créent des matrices de 1 et de 0 ;
– rand et randn des matrices dont les éléments sont choisis au hasard selon une loi uniforme sur
]0, 1[ et une loi normale centrée réduite ;
– diag permet d’extraire des diagonales ou bien de créer des matrices diagonales ;

III-5- Opérations matricielles


On peut effectuer les opérations classiques sur les variables, qu’elles soient scalaires, vectorielles ou
matricielles (Il faut respecter les dimensions des vecteurs et matrices):

Opérations matricielles Opérations élément par élément


+ addition
- soustraction
* multiplication .* multiplication élément par élément
/ division ./ division élément par élément
^ puissance .^ puissance élément par élément

Exercice1 :
1- Faire entrer à Matlab les variables suivantes :

Page 2 sur 4
Que représente chacun de ces variables ?
2- Créer la matrice
3- Affichez le 2e élément de la diagonale de la matrice D précédente, puis la 1re ligne de A.
4- Créez les vecteurs suivants :
v1. de −10 à 10 :
v2. de 10 à 0 :
v3. de 0 à 70 par pas de 10 :
v4. de 5 à 1 par pas de −0, 5 :
5- On considère les variables suivantes :

6- Calculez 2x, A + B, Ay, A2, 2y et les carrés des éléments de y.


7- Pour les matrices précédentes, comparez les codes A*B et A.*B d’une part, A^2 et A.^2
d’autre part.
8- Testez le code suivant :
[1 2 3 4]*5
[1 2 3 4].^2
sin(1:10) 0
exp(j*2*pi*(2:0.5:100))
9- Calculez les inverses des entiers compris entre 15 et 23.

Exercice 2 :

Soit A = [1:4 ; 5:8 ; 9:12 ; 13:16].

1- Quel est le résultat de l’instruction A(10:-1:5) ?


2- Comment créer un vecteur contenant les éléments de A dans l’ordre suivant : 16 12 8 4 15 11
... ?
3- Quel est le résultat de l’instruction [A(1,:),5] ?
4- Comment créer un vecteur contenant les éléments de A dans l’ordre suivant : 1 2 3 4 ... ?
5- Quel est le résultat de diag(diag(A)) ?

III-6- Graphiques
Matlab permet de représenter des données sous diverses formes, et en particulier de tracer des
courbes avec la fonction plot.

plot(x,y) trace y en fonction de x. En fait, cette commande relie les points dont les abscisses sont
contenues dans le vecteur x et les ordonnées dans le vecteur y.
D’autres types de points, de ligne et de couleur peuvent être spécifiés à l’aide d’un troisième
argument : par exemple plot(x,y,’r+:’) trace une ligne pointillée (:) rouge (r) où les données sont
représentées par une croix (+) ; voir l’aide pour plus de détails (help plot).

Les fonctions title, xlabel et ylabel permettent de donner un titre au graphique et des légendes aux
abscisses et aux ordonnées.

grid on et grid off quadrille ou non le graphique.

Pour pouvoir afficher plusieurs courbes superposées (sur le même graphe), on peut utiliser la
commande hold(’on’).

Page 3 sur 4
Pour pouvoir afficher plusieurs courbes dans une même fenêtre mais sur plusieurs graphes, il faut
utiliser la commande subplot(L,C,i) qui découpe la fenêtre en un tableau de L lignes et C colonnes
et sélectionne la ie case pour afficher une courbe.

Enfin, l’instruction figure permet d’ouvrir une nouvelle fenêtre graphique.

Exercice 3 :
1- Définir les vecteurs x = (1, 2, 3, 4, 5) et y = (23, 54, 12, 85, 45). Tracer y en fonction de x puis x
en fonction de y : comparez. Vous pouvez éventuellement modifier les types de points et de
lignes.
2- Tracez la fonction f(x) = x2 sur [−10, 10] (créez avant tout le vecteur des abscisses puis le vecteur
des ordonnées).
3- Générez deux périodes ( ) des deux signaux x(t)=cos(t) et y(t)=sin(t) et visualisez les deux
signaux sur une même figure, l’une en rouge et l’autre en bleu à l’aide de la fonction plot.
Mettre une légende.
4- Visualisez sur une même figure les quatre signaux cos(t), sin(t),log10(t) et exp(t)
5- Mettre des titres, des légendes, quadrillage…

Page 4 sur 4

Vous aimerez peut-être aussi