You are on page 1of 2

EIDGENÖSSISCHE TECHNISCHE HOCHSCHULE LAUSANNE

POLITECNICO FEDERALE DI LOSANA


SWISS FEDERAL INSTITUTE OF TECHNOLOGY LAUSANNE

Faculté des Sciences et Techniques de l’Ingénieur


Institut de traitement des signaux
Prof. Jean-Philippe Thiran

EPFL-STI-ITS-LTS5 Téléphone: + 4121 693 4623


ELD 236 Fax: + 4121 693 7600
Station 11 E-mail: Jp.thiran@epfl.ch
CH 1015 Lausanne
Site web : http://itswww.epfl.ch

Cours d’Introduction au Traitement des Signaux


Introduction à MATLAB

Remarque: Cette séance a pour but de vous familiariser avec MATLAB. Pour chacune des commandes
citées, n'hésitez pas à utiliser la commande help pour avoir accès à toutes ses possibilités.

Opérations sur les vecteurs et les matrices

1.1 Génération de vecteurs

Générez un vecteur de taille 100, contenant les nombres de 0 à 0.99 par pas de 0.01 :

t = 0:0.01:0.99;

(essayez avec et sans le ";" )

Dessinez ce vecteur au moyen de la commande plot.


Créez un vecteur contenant une sinusoïde de fréquence 5 :

x = sin(2*pi*5*t);

et affichez-le. Au moyen de la commande zoom, agrandissez une partie du graphique.


Générez un deuxième signal, de fréquence 7, et affichez-le en superposition avec le premier :

plot(t,x,t,y)

Créez et affichez les vecteurs somme, différence et produit1 des deux vecteurs, ainsi qu'un des vecteurs
au carré2, transposé (opérateur ' ), et calculez le produit scalaire des deux vecteurs.

1.1 Génération de matrices


Générez des matrices à l'aide des commandes suivantes:
eye, ones, zeros, rand, diag, gallery, hadamard, linspace, magic, toeplitz, vander.

1.2 Manipulation de matrices


Générez une matrice A de taille (3, 3) non triviale et appliquez-lui les commandes suivantes:
A*A, rot90, fliplr, flipud, tril, triu, reshape, A’, A(:)

Nombres complexes

Les variables i et j sont prédéfinies dans MATLAB et correspondent à la racine carrée de -1. Générez un
nombre complexe et appliquez-lui les commandes suivantes:
real, imag, conj, abs, angle, exp, en vérifiant les résultats.

Création de fonctions

1
Attention, il faut ici préciser ce qu'on entend par produit de deux vecteurs !
2
Même remarque.
2

• Ecrivez une fonction (help function) qui a pour sortie un vecteur dont les composantes sont le cube
des composantes du vecteur d'entrée.
• Ecrivez une fonction qui a pour sortie un vecteur dont les composantes sont x(i) - x(i-1) avec x(i) les
composantes du vecteur d'entrée. Notez que le vecteur de sortie a une composante de moins que le
vecteur d'entrée.

Remarque: Dans les deux cas, on peut soit écrire la fonction avec une programmation de type classique
(boucle for et commande length pour avoir la longueur du vecteur), soit utiliser les ressources propres à
MATLAB. Vous pouvez vérifier que la deuxième solution tourne nettement plus vite.

Sortie graphique

• Créez une fonction utilisant la commande subplot et les fonctions écrites précédemment et affichant de
manière superposée le signal (vecteur) initial et les sorties des deux fonctions. Analysez le rôle de la
commande axis.
• Affichez une ellipse de grand axe a = 4 et de petit axe b = 1.
Pour ce faire, générez un vecteur d'angle v entre 0 et 2π et rappelez vous que les coordonnées des
points de l'ellipse sont acos(v)/2 et bsin(v)/2.

Pour le fun

Si vous avez le temps et que cela vous intéresse de voir un peu plus à quel point MATLAB est un bel
outil:
• Chargez les démos avec la commande demo.
• chargez une des images disponibles telles que trees avec la commande load, visualisez-la avec
imshow et appliquez une détection de contours avec edge, une égalisation d'histogramme avec histeq,
..., et visualisez le résultat.

___________________

You might also like