Vous êtes sur la page 1sur 15

UNIVERSITE DE SOUSSE

Institut Supérieur d’Informatique


et des techniques de communication
Hammam Sousse

Matière : TP Communications Numériques


Enseignants : Hayfa FHIMA/ Badreddine RJEB
Classes : 1ère année DNI

TP1 : Introduction à l’outil Matlab

Ce premier vise à introduire des notions de base du logiciel de simulation Matlab.


Le mot MATLAB est l’abréviation de « MATrix LABoratory ». Cet outil, développé par
MathWorks, est conçu pour le calcul matriciel, le traçage des figures, la manipulation des
objets, des variables, etc …

• Les variables :
Les variables en Matlab existent sous trois types :
- Les scalaires de taille (1,1)
- Les vecteurs ayant N éléments : lignes (1,N) ou colonnes (N,1)
- Les matrices avec N lignes et M colonnes (N,M)
Pour déclarer une variable la syntaxe est le suivant :
Nom_variable = valeur
Pour choisir le nom d’une telle variable, indépendamment de son type, il faut savoir que:
- Le nom de la variable à déclarer peut-être constitué de lettres minuscules, majuscules,
des chiffres de 0 à 9, du caractère souligné (underscore _ ).
- Matlab fait la différence entre la minuscule et la majuscule.
- Il ne faut pas commencer par un chiffre.
- Le nom de la variable ne doit contenir des caractères spéciaux tel que par exemple les
lettres accentuées, les parenthèses, l’espace, etc…
- Si le nom de la variable est composé de plusieurs mots, il ne faut pas utiliser des espaces.
On peut également utiliser le caractère souligné ( _ )
Pour travailler sous Matlab, il existe deux modes comme le montre la figure 1,

Hayfa FHIMA TP Communications Numériques 1 DNI


- Un mode exécutif (l’espace de numéro 1).
- Un mode interactif (là où il existe le numéro 2).

Figure1
Avec le mode interactif, on écrit directement dans l’onglet Command Window

Figure 2
Toutes les variables écrites seront stockées dans l’espace Workspace (le Volet de numéro 3).
Pour écrire tout un programme (généralement long), le mode interactif n’est pas le bon choix,
car, pour modifier une ligne, il faut réécrire tout le programme qui n’est pas pratique. Dans ce
cas-là, on opte pour le mode exécutif. En effet, avec ce dernier mode, le programme est écrit
dans un fichier enregistré d’extension (.m), qui sera exécuté à la demande. Ainsi, toute
modification du programme sera plus facile et plus pratique.
Pour écrire avec le mode exécutif, il faut ouvrir un fichier en allant (comme le montre la figure
suivante) à l’onglet New puis choisir script, ou appuyer directement sur « Ctrl +N » ou aussi
pointer sur le + au-dessus du mot New (voir la figue suivante).

Hayfa FHIMA TP Communications Numériques 1 DNI


Figure 3
Avec ce mode, on peut aussi ouvrir des anciens fichiers .m et accéder à la modification à tout
moment et à n’importe quel endroit du code.
Ainsi, une fois le code est écrit, pour exécuter tout le programme, on clique sur Run ou bien
tout simplement F5.
On peut même exécuter une portion du code : On sélectionne la portion du code à exécuter puis
soit on clique sur F9 directement ou bien on clique sur le bouton droit et puis Evaluate Selection

Figure 4

Hayfa FHIMA TP Communications Numériques 1 DNI


• Déclaration des variables
- Pour une déclaration d’un scalaire :

Figure 5
Dans cet exemple, la différence de syntaxe entre la déclaration des variables « a » et « b » est
juste le point-virgule ‘ ;’. Ce point-virgule à la fin de la ligne permet, respectivement, d’afficher
ou non de la variable (de n’importe quel type) déclarée selon que le point-virgule soit absent ou
existant.
- Pour déclarer un vecteur ligne, entre crochets on tape les éléments du vecteur, et entre
les deux éléments, soit on met une virgule soit un simple espace :

- De même pour la déclaration d’un vecteur colonne, on met entre crochets les éléments
du vecteur et entre deux éléments consécutifs on met un point-virgule :

- On peut déclarer un vecteur avec un pas d’incrémentation fixe :

Hayfa FHIMA TP Communications Numériques 1 DNI


- Si le pas d’incrémentation n’est précisé, sa valeur par défaut est 1.

- On peut aussi concaténer deux vecteurs qui doivent être de même type : voir l’exemple
suivant :

- Pour transformer un vecteur ligne en un vecteur colonne, l’opération s’appelle une


transposition et la syntaxe est comme suit :

- Pour la déclaration d’une matrice :


Une matrice de taille (N*M) contient N lignes et M colonnes. Pour déclarer cette matrice, entre
deux crochets, on commence par déclarer les éléments lignes par ligne. C’est-à-dire, on écrit
les éléments du premier vecteur ligne puis un point-virgule (pour revenir à la ligne suivante et
écrire les éléments suivants), puis les éléments du deuxième vecteur ligne, et ainsi de suite.

Hayfa FHIMA TP Communications Numériques 1 DNI


- Pour savoir les variables utilisées (évidemment stockées dans l’espace workspace), il
suffit de taper la commande « who ».

- Pour donner plus d’informations aux variables déclarées, on utilise la commande


« whos »

Figure 6
- Pour supprimer une variable (a par exemple) du workspace, on utile la commande clear
a
- Pour supprimer toutes les variables du workspace, on utile la commande clear all
- Pour effacer ce qui écrit dans la Command Window (mais ne pas supprimer les
variables), on utilise la commande clc
Il existe plusieurs commandes sous Matlab, il suffit d’aller à la documentation en cliquant sur
help ou bien taper « doc » dans la Command Window.
- Pour extraire des éléments d’une telle matrice :
o A(i,j) : pour extraire le ième ligne et jème colonne de la matrice A.

Hayfa FHIMA TP Communications Numériques 1 DNI


o A( :, j) : pour extraire les éléments de la jème colonne de la matrice A.
o A(i, :) : pour extraire les éléments de la ième ligne de la matrice A.
o A(i :j, :) : pour extraire les éléments de la sous matrice de A allant de la ligne i
vers la ligne j.
o A(i :j,n :m) : pour extraire les éléments de la sous matrice de A allant de la ligne
i vers la ligne j et de la colonne n vers la colonne m.

- Pour savoir la taille de la matrice, on utilise la commande size.

Il existe des matrices particulières qui sont très utiles :


- La commande ones(n,m), permet de générer une matrice de taille n*m dont tous les
éléments sont des ‘1’

Hayfa FHIMA TP Communications Numériques 1 DNI


- La commande zeros(n,m) permet de générer une matrice nulle de taille n lignes et m
colonnes.

- La commande eye(n) permet de générer la matrice identité.

- La commande rand permet de générer une matrice de valeurs aléatoires compris entre
0 et 1 suivant une loi uniforme.

- La commande randn permet de générer une matrice de valeurs aléatoires suivant une
loi normale

- La commande randi permet de générer une matrice de valeurs entières pseudo-


aléatoires.

Hayfa FHIMA TP Communications Numériques 1 DNI


• Opérateurs arithmétiques et logiques :
Les opérateurs arithmétiques qui peuvent être appliqués sur les matrices, les vecteurs et aussi
les scalaires sont : l’addition (+), la soustraction (-), la multiplication (*), la division (/), la
puissance (^).
Mais en les appliquant sur les vecteurs et les matrices, il faut faire attention à la taille. Par
exemple, pour additionner deux matrices ou bien deux vecteurs, il faut que les deux variables
aillent la même taille.
Aussi, pour multiplier une matrice A par une autre matrice B (A*B) il faut que le nombre de
colonne de la matrice A soit égal au nombre de ligne de la matrice B.
Pour les vecteurs et les matrices, on peut appliquer la multiplication, la division et la puissance
dite point par point, qui consiste à faire ces opérations pour chaque élément de la variable.
Voir les deux exemples suivants :

Hayfa FHIMA TP Communications Numériques 1 DNI


• Les opérateurs de comparaison et logiques appliquées sur les variables :
Opérateurs Symbole
Supérieur >
Supérieur ou égal >=
Inférieur <
Inférieur ou égale <=
Egale ==
Différent ~=
Et && (scalaires)
& (vecteurs et matrices)
Ou || (scalaires)
| (matrices et vecteurs)
Non ~
Il existe également des fonctions mathématiques prédéfinies qui sont usuelles, on peut citer par
exemple : cos, sin, tan, sqrt, sinh, tanh, cosh, log, log2, log10, abs, …

• Les fonctions
Autre que les fonctions prédéfinies sous matlab, on peut créer d’autres fonctions. La fonction
doit être écrite dans un fichier qui porte le même nom que la fonction. Et ce fichier doit être
enregistré dans le même répertoire que le fichier du programme principal (là où on fait appel
à la fonction).
La syntaxe de la fonction est donnée comme dans l’exemple suivant :

Variables d’entrée
Variables de sortie

• Les structures conditionnelles et les boucles


o Boucle for
La syntaxe de la boucle for est donnée comme suit :

o Boucle while
La forme de boucle while est la suivante :

10

Hayfa FHIMA TP Communications Numériques 1 DNI


o Structure if
La forme complète de la structure conditionnelle if est la suivante :

• Les graphiques sous Matlab


Pour tracer une figure, on utilise la commande plot (continue) ou aussi stem (discontinue).
Les autres commandes très utilisées avec les figures sont :
- xlabel(‘axe des abscisses’) : pour ajouter un label à l’axe des abscisses sur la figure.
- ylabel(‘axe des ordonnées’) : pour ajouter un label à l’axe des ordonnées sur la figure.
- title(‘titre’) : pour ajouter un titre à la figure.
- hold ou aussi hold on : pour pouvoir ajouter d’autres courbes sur la même figure.
Sans la commande hold, si on veut tracer plus qu’une figure sur le même graphe, c’est toujours
la dernière courbe qui est affichée et les précédentes sont toutes supprimées ou écrasées.
- legend(‘legende1’,’legende2’,’legende3’) :pour ajouter des légendes aux différents
courbes tracées sur la même figure.
- axis([xmin xmax ymin ymax]) : pour définir les limites des deux axes à afficher.
- xlim([xmin xmax]) : pour définir les limites de l’axe des abscisses.
- ylim([ymin ymax]) : pour définir les limites de l’axe des ordonnées.
- grid ou grid on : pour ajouter des grillages à la figure.
Pour tracer plusieurs courbes sur la même figure, il est recommandé pour des raisons de clarté,
de les différencier en les traçant soit avec des différents couleurs, soit avec de différentes
marques, soit en changeant le type du trait de la courbe, etc... Les différents couleurs et
marquages existants ainsi que le type de trait de la courbe sont illustrés comme suit :
Couleur Symbole
Bleu b
Rouge r
Vert g
Jaune y
Cyan c
Magenta m
Noir k
Blanc w

11

Hayfa FHIMA TP Communications Numériques 1 DNI


Marquage Symbole
point .
cercle o
x-mark x
plus +
etoile *
carré s
losange d
triangle (vers le bas) ^
triangle (en haut) v
triangle (à droite) >
trinagle (à gauche) <
pentagramme p
hexagramme h

Type de trait Symbole


continu -
pointillé (dotted) :
dashdot -.
dashed --
pas de trait (none)

Exemple :
Comme exemple d’application de traçage de courbe, l’exécution du code suivant donne la
figure est donnée par la suite :

12

Hayfa FHIMA TP Communications Numériques 1 DNI


On peut même subdiviser la figure en des sous-figures, la commande subplot.

13

Hayfa FHIMA TP Communications Numériques 1 DNI


- Pour fermer une figure ouverte, on utilise la commande close, pour fermer toutes les
figures, on tape close all

Exercices d’application :
Ecrire une fonction nommée calcul qui accepte comme paramètres d’entrée un vecteur. Cette

fonction fait les taches suivantes :

- Elle donne la différence entre le dernier élément et le premier élément du vecteur.

- Elle renvoie un premier vecteur qui contient les éléments d’indices impairs du vecteur

étudié.

- Elle renvoie un deuxième vecteur qui contient les éléments du vecteur étudié ayant des

indices pairs.

Combien il nous faut comme paramètres de sortie pour cette fonction ? quels sont les types de

ces paramètres ?

Implémenter cette fonction.

Dans un fichier, générez un vecteur qui commence par 0.4 avec un pas de 0.015 et qui contient

500 échantillons. Nommez ce vecteur 𝑥.

Utilisez la fonction calcul pour obtenir les éléments du vecteur 𝑥 d’indices pairs.

Exercice2:

- Générer un vecteur 𝑥 qui varie entre −2 𝑒𝑡 2 ayant un pas 0.005.

- Calculer la taille du vecteur 𝑥.

𝑥 2 +2|𝑥|3 −1
Soit la fonction suivante : 𝑓 (𝑥 ) = .
𝑥+4

14

Hayfa FHIMA TP Communications Numériques 1 DNI


- Implémenter l’équation ci-dessus.

- Tracer la courbe de 𝑓(𝑥) en fonction de 𝑥.

- Tracer sur le même graphe avec une autre couleur la fonction 𝑔(𝑥) = −𝑓(𝑥)

- Ajouter des labels, titre ainsi que légendes pour les deux courbes.

15

Hayfa FHIMA TP Communications Numériques 1 DNI

Vous aimerez peut-être aussi