Outils Matlab
Année universitaire 2021-2022
Y. TAHIR
TP N°1 : Initiation à Matlab
Activité 1
Démarrer le logiciel découvrir l’environnement Matlab :
Command Window
Ligne de commande (>> …..)
Workspace
Current Folder
Command History
Layout (c’est un sous menu dans le menu « Home » qui vous permet de personnaliser l’organisation
de votre fenêtre)
Activité 2 (Commentaires, Help, Historique & Gestion de current folder)
1. Commentaires : Les commentaires sont des phrases principalement écrites dans un programme pour
expliquer ce qu’il fait ou ce qu’un morceau de code est censé faire. Plus précisément, des
informations dont le programmeur devrait se préoccuper et qui n’ont rien à voir avec la logique du
code. Ils sont complètement ignorés par le compilateur et ne sont donc jamais répercutés sur
l’entrée.
Dans MATLAB, les commentaires sont de deux types :
Commentaires sur une seule ligne
Commentaires sur plusieurs lignes
Bloque de commentaires
a. Commentaires sur une seule ligne : pour ajouter des commentaires sur une seule ligne il faut
utilisez l’opérateur %. Cela peut être écrit sur une ligne séparée ou ajouté au code sur la même
ligne
Exemple : Ecrire dans la ligne de commandes de commande Windows, les commentaires
suivants :
>> % Je suis un commentaire
>> % Pour ajouter un commentaire on utilise le symbole %
>> % Matlab ne prend pas en considération les commentaires
>> % commentaire sur une ligne séparée
>> x=20 % commentaire ajouté au code sur la même ligne
x=
20
b. Commentaires sur plusieurs lignes : pour écrire un commentaire sur plusieurs lignes on utilise
les trois points de suspension (…).
>> y=30 ...blablablablablabla
...blablablablabla
...blablablablabla
y=
30
c. Bloc de commentaires : pour écrire un bloc de commentaires on commence par "%{" et on
termine par "}%". (NB : valable seulement dans les scipts)
%{
Ceci
Est un
Bloc de
Commentaire
%}
2. Help : tester les commandes suivantes :
>> helpwin % ouvre une fenêtre contenant la liste des commandes Matlab ainsi que leurs
documentations
>> help % donne la liste de toutes les commandes par thèmes
>> help nom %décrit la fonction nom.m
>> lookfor nom %recherche une instruction a` partir du mot clé nom
3. Historique : Matlab conserve l’historique des commandes. Il est donc possible de récupérer des
instructions déjà saisies (et ensuite de les modifier dans le but de les réutiliser) :
↑, ↓, →, ← permet de se déplacer dans les lignes de commandes tapées dans la fenêtre de
commandes
4. Gestion de Current Folder :
>> pwd % affiche le nom du répertoire courant pour Matlab
>> cd rep % change le répertoire courant pour Matlab qui devient rep
>> dir % fournit le catalogue d’un répertoire
>> delete % efface des fichiers ou des objets graphiques
Activité 3 (Opérateurs arithmétiques, Opérateurs de comparaison & Opérateurs logique)
1. Opérateurs arithmétiques
Ouvrir Matlab et faire les opérations suivantes dans l’interpréteur
>> 5+5 % addition
>> 5-5 % soustraction
>> 5*2 % multiplication matricielle
>> 5.*2 % multiplication élément par élément
>> 5/2 %division à droite (matricielle)
>> 5./2 %division à droite (élément par élément)
>> 5\2 %division à gauche (matricielle)
>> 5.\2 %division à gauche (élément par élément)
>> 5^2 % puissance matricielle
>> 5.^2 % puissance élément par élément
>> 1^2+9^2+1^2+4^2+1^2 % ordre de priorité entre opérateurs
>> 1^(2+(9^(2+1)^2+4)^2)+1^2 % définir l’ordre de priorité
NB :
a) Matlab distingue deux type de multiplication : la multiplication matricielle (l’opérateur *) et la
multiplication élément par élément (l’opérateur .*). Par suite nous aurons la même chose pour la
division et la puissance.
b) Matlab utilise deux opérateurs pour la division :
L’opérateur / pour la division à droite : a / b c’est a divisé par b
Et l’opérateur \ pour la division la division à gauche : a \ b c’est b divisé par a
L’utilisation de ces deux opérateurs de division (à gauche et à droite) devient plus intéressante
lorsqu’il s’agit de calcul matricielle ; ceci due au fait que la multiplication matricielle n’est pas
commutative.
2. Opérateurs de comparaison
>> x == y % le test de l’égalité
>> x < y % le test x inferieur à y
>> x > y % le test x supérieur à y
>> x <= y % le test x inferieur ou égal à y
>> x >= y % le test x supérieur ou égal à y
>> x ~= y % le teste x différent de y
NB : tous les tests de comparaison renvoient la valeur 1 si le test est vrai et la valeur 0 si le test est faux
3. Opérateurs logique
>> x > y | x < y % le « ou » logique
>> x > y || x < y % le « ou » logique
>> x > y & x < y % le « et » logique
>> x > y && x < y % le « et » logique
>> ~ (x < y) % le « non » logique
Activité 4 (Variables d’environnement & constantes)
1. Matlab garde en mémoire les variables qui ont été créées. On les voir dans le Work Space, lorsque
Matlab dispose d’une interface graphique. Sinon, on peut les afficher et les effacer par la ligne de
commande :
>> who % donne la liste des variables présentes dans l’espace de travail
>> whos % donne la liste des variables de l’espace de travail ainsi que
leurs propriétés
>> what % donne la liste des fichiers .m et .mat présents dans le
répertoire courant
>> clear var1 . . . varn % efface les variables var1, . . . varn de l’espace
de travail
>> clear % efface toutes les variables de l’espace de travail
>> clear all % efface toutes les variables de l’espace de travail
Lorsque on fait un calcul sans avoir affecter le résultat à aucune variable, le logiciel affecte le résultat
obtenu à une variable spéciale nommée « ans ».
2. Les constantes i et j
a. Dans la ligne de commande taper les commandes suivantes
>> i * i % renvoie la valeur -1
>> i = 4 % nous avons écraser la constant complexe
>> i * i % renvoie la valeur 16
>> j * j % renvoie la valeur -1
>> j = 3 % nous avons écraser la constant complexe
>> j * j % renvoie 9
>>a = sqrt(-1)
>> b = 1 + a
>>clear i
>> i * i
>>clear j
>> j * j
b. Matlab utilise les mêmes opérateurs arithmétiques que nous avons vu dans l’exercice 1 pour
faire des calculs sur les nombres complexes
>> 5+3i + 5+3i
>> 5+3i * 5+3i
>> 5+3i ^ 5+3i
>> 5+3i / 5+3i
c. Certaines fonctions appliquées aux nombres complexes
>>complex(5,3) %Création d’un nombre complexe
>>real(5+3i) % renvoie la partie réelle
>>imag(5+3i) % renvoie la partie imaginaire
>>angle(5+3i) % renvoie l’argument
>>abs(5+3i) % renvoie le module
>>conj(5+3i) % renvoie le conjugué de 5+3i
3. Autres constantes : Matlab reconnaît d’autres constantes
>> pi % c’est la constante π = 3.1415...
>> eps % c’est le plus petit nombre : 2.2204e-016
>> Inf % l’infini positif, c’est à dire 1/0, c’est également un
>> -Inf % l’infini négative, c’est à dire -1/0.
>> NaN % c’est l’abréviation de Not a Numbre, pour exprimer la forme
indéterminée
>> intmin % le plus petit nombre entier défini sur cet ordinateur,
>> intmax % le plus grand nombre entier défini sur cet ordinateur
>>realmin % le plus grand nombre réel défini sur cet ordinateur
>>realmax % le plus grand nombre réel défini sur cet ordinateur
NB :
Contrairement aux autres langages de programmation, les constantes que nous avons citées sont
écrasables comme le cas de i et j que nous avons vu dans l’exercice précédent, en effet, dans le code
suivant, nous allons affecter la valeur 0 à pi. Après l’instruction clear pi, qui permet de supprimer la
variable pi, on constate que la variable pi a repris sa valeur :3.1415...
1- >> cos(pi)
>> ans =
-1
2- >> pi = 0;
>> cos(pi)
>> ans =
1
3- >>clear pi
>> cos(pi)
>> ans =
-1
eps est également un fonction (voir le help de eps)
intmin = intmin -1 (tester intmin == intmin-1)
Activité 5 (variables)
En Matlab (contrairement aux autres langages de programmation) nous n’avons pas besoin de déclarer les
variables ou bien de préciser leurs types avant de les utiliser.
1. La partie1du code ci-dessous permet de créer directement les variables var1, var2 et var3 et de leurs
affecter respectivement les valeurs 3, 4 et 10
2. Dans la deuxième partie du même code, nous avons modifié la valeur de la variable var1 par une
nouvelle affectation. Nous avons également pu modifier le type et la valeur de la variable var2 par
une simple affectation de sa nouvelle valeur (ceci est impossible dans les autres langages de
programmation).
>> % partie 1
>> % --------
>>var1 = 3
>>var2 = 4
>>var3 = 10
>>
>> % partie 2
>> % --------
>> var1 = 23
>>var2 = ‘Maroc’ % instruction impossible dans C ou bien pascal
3. Faire appel à une variable : pour faire appel à une variable il suffit de taper le nom de la variable
suivi d’entrer,
Faire appel aux variables : var1, var2 et var3.
Activité 6 (fonctions d'arrondis)
>> round(x) % entier le plus proche de x,
>> floor(x) % arrondi par défaut,
>> ceil(x) % arrondi par excès,
>> fix(x) % arrondi par défaut un réel positif et par excès un réel
négatif.
Activité 7 (Normes)
>> v = [1 -2 3];
>> n = norm(v ) % la norme euclidien ( ‖. .. . ‖2 = √∑ 𝑥𝑖2 )de v
>> n = norm(v,2) % la norme euclidien de v
>> n = norm(v, 1) % la norme 1 de v
>> n = norm(v, Inf ) % la norme infinie de v
>> n = norm(v, 'fro') % la norme de Frobenius de v
Exercices
Exercice 1 :
Déclarer les variable x = 2 et y = 5.
Utiliser MATLAB pour calculer les expressions suivantes :
yx3 3x 3 x5
a- b- c- xy d-
x−y 2y 2 x5 −1
Exercice 2 :
Evaluer les expressions suivantes en utilisant MATLAB :
4 x
a- y = 6x 3 + x pour x = 3 b- y = 4 3 pour x = 7
(4x)2 sin(x)
c- y = 25
pour x = 9 d- y = 2 5
pour x = 4
1
e- y = 7 (x 3 ) + 4x 0.58 pour x = 30
Exercice 3 :
Le volume d’une sphère est donné par la formule :
4
V = πr 3 avec r le rayon de la sphère.
3
Utiliser MATLAB pour calculer le rayon d’une sphère dont le volume est 40% plus grand qu’une autre
sphère de rayon 1,22m.
Exercice 4 :
En utilisant MATLAB évaluer les expressions suivantes, pour x = 5 + 8i , y = −6 + 7i
x
a- u = x + y b- v = xy c- w = y
d- z = ex e- r = √y f- s = xy 2
Exercice 5 :
Soit les nombres complexes : z1 = 12+75i z2 = 21+56i z3 = 34+85i, calculer :
1. Z = 5z12 + z23 + 2z3
2. Z’ = z1(z2 + z3)
3. Le module et ‘argument de Z et Z’
4. Le conjugué de Z*Z’
5. L’imaginaire de z12(Z+Z’)
6. Les racines de Z et Z’
7. Les racines 5èmes de Z et Z’ (indication : vous pouvez utiliser la fonction roots)
8. Calculer la norme euclidienne et la norme infinie de Z