U n i v e r s i t é M o u l a y I s m aı̈ l Mathématiques Appliquées
2ème Année ENSAM, Semestre 4
E.N.S.A.M.–M e k n è s 2018-19
TP1 : Exercices d’initiation à Matlab
Exercice 1 : Vecteurs et courbes
π
a) Définir la variable x = , et calculer y1 = sin(x) et y2 = cos(x), puis z = tan(x) à partir de y1 et
4
y2 .
π π π
b) Définir la variable x = [ , , ], et calculer y1 = sin(x) et y2 = cos(x).
6 4 3
Calculer alors tan(x) en utilisant exclusivement les vecteurs y1 et y2 précédents.
c) Définir la variable x = [0 : 0.1 : 2π]. Combien y a-t-il de valeurs dans ce vecteur ? Afficher la courbe
du sinus.
Faire varier le pas. Qu’affiche exactement la commande plot ?
(plot, size, length).
Exercice 2 : Manipulation de matrices
a) Définir le vecteur V = [0 1 2 3 · · · 49 50]. Quelle est la taille de ce vecteur ?
Définir le vecteur W contenant les cinq premiers éléments de V , et le vecteur X contenant les cinq
premiers et les cinq derniers éléments.
Définir ensuite le vecteur Z = [0 2 4 · · · 48 50] à partir de V .
1 2 3 4 5 6 7 8 9 10
b) Définir la matrice M = 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
1 2 8 9 10
Extraire de cette matrice la matrice N = 11 12 , la matrice P =
18 19 20 , puis la
21 22 28 29 30
3 7
matrice Q = .
23 27
Extraire de la matrice M la matrice R obtenue en prenant dans la matrice M une colonne sur 2.
c) Définir les matrices M = [2 4 6 8 · · · 100] et N = [−1 − 3 − 5 · · · − 99], puis le vecteur P =
[−1 2 − 3 4 − 5 8 · · · − 99 100].
d) Définir une matrice M aléatoire à trois lignes et sept colonnes. Combien de nombres dans cette
matrice sont plus grand que 0, 5 ? que 0, 8 ? Ou sont-ils situés ?
(rand, nnz, find, sum)
Construire alors la matrice P obtenue à partir de la matrice M en remplaçant tous les nombres de
M inférieurs à 0, 4 par 0, et ceux supérieurs à 0.4 par 1.
Construire de même la matrice Q obtenue à partir de la matrice M en remplaçant tous les nombres
de M inférieurs à 0.5 par −3 et tous les nombres supérieurs à 0.5 par 14.
e) Créer un vecteur contenant N valeurs binaires (0 ou 1) tel que 10 % de ces valeurs soient des 1.
Exercices d’initiation à Matlab - 1/2
Exercice 3 : Fonctions graphiques
1
On considère la fonction f (t) = 1+αt 2.
a) Créer le vecteur t=[0 : 0.1 : 100] ; quel est le nombre de points ? Quelle est la place utilisée en
mémoire ? (size, length, whos)
c) Représenter sur une figure 4 cadrans, la fonction demandée pour les valeurs α = 1, 10, 20 et 30.
Mettre les titres et les légendes de chaque graphique. (subplot, title, legend)
c) Représenter sur une même figure les 4 graphes de la question précédente. Mettre les titres et les
légendes de chaque graphique.
Exercice 4 : Création d’une fonction
a) Créer, à partir de votre fichier de commande, une fonction qui trace la courbe de l’exercice 3, en
fonction de la variable α passée en paramètres et qui retourne les valeurs prises par la fonction f .
b) Ajouter un ”flag” passé à la fonction qui permet de choisir ou non la visualisation de la courbe
(nargin)
Exercice 7 : Recherche d’un élément dans un vecteur
Ecrire une fonction Trouve qui prend en argument un vecteur v et un nombre x, et qui retourne 1 si x est
un élément du vecteur v, et 0 sinon.
Deux versions au moins de cette fonction peuvent-être implémentées, une à l’aide d’une boucle for, et
d’un test if approprié, une seconde avec while, et une autre directement avec une comparaison globale
== (et, par exemple, find ou nnz).
Exercice 8 : Matrices et systèmes linéaires
a) Ecrire une fonction, n’utilisant aucune boucle (for, while, ...) qui prend comme paramètre un entier n
et qui construit la matrice suivante (fonctions eye, diag) :
1 1 0 ··· 0 0 0
1 2 n−1 0 0 0
n n
0 2 3 ··· 0 0 0
n
.. .. .. . . .. .. ..
. . . . . . .
0 0 0 ··· n − 1 2
n
0
n−1 1
0 0 0 ··· n
n n
0 0 0 ··· 0 1 n+1
b) Avec Matlab, on peut résoudre tout type de système linéaire en l’écrivant préalablement sous forme
matricielle.
(i) La système linéaire, d’inconnues x, y et z suivant
6x + y − 5z = 10
2x + 2y + 3z = 11
4x − 9y + 7z = 12
s’écrit sous forme matricielle AX = b, où X = [x y z]T est le vecteur inconnu.
Le vecteur X se calcule alors suivant : AX = b ⇐⇒ X = A−1 b, ou encore, avec Matlab, X = A \ b
(voir help slash). Résoudre le système linéaire précédent.
Exercices d’initiation à Matlab - 2/2