Vous êtes sur la page 1sur 2

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

Vous aimerez peut-être aussi