Vous êtes sur la page 1sur 2

Analyse Numérique et Calcul Scientifique

1CI-EEMGC
2021-22

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
4
de y1 et 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
  21 22 28 29 30
3 7
la 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
On considère la fonction fa (t) = 1+a1 t2 .
a) Créer le vecteur t=[0 : 0.01 : 10] ; 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 a = 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 a passée en paramètres et qui retourne les valeurs prises par la
fonction fa .
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.
Le 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