Vous êtes sur la page 1sur 25

TP1

Initiation à Matlab

1. Soient les vecteurs colonnes et la matrice suivants


     
1 −5 2 3 4
~u1 = 2 , ~u2 =  2  , A = 7 6 5 .
     

3 1 2 8 7

(a) Ouvrir une sesion Matlab.


(b) Saisir les vecteurs ~u1 , ~u2 et la matrice A et déterminer leurs dimensions.
(c) Calculer ~u1 + 3~u2 , A~u1 .
(d) Définir le vecteur ~u3 contenant le premier colonne de la matrice de A, et le vecteur ~u4
contenant les éléments de ~u1 et ~u2 .
 
" # 2 3
2 3 4
(e) Extraire de la matrice A les matrices P = , H = 7 6 .
 
7 6 5
2 8
(f) Utiliser des commandes Matlab pour calculer k~u1 k1 , k~u1 k2 , k~u1 k∞ , det(A) et inv(A)

2. Ecrire un programme Matlab qui demande deux valeurs a et b à l’utilisateur, intervertit leurs
contenus et les affiche à nouveau.

3. Écrire une fonction y = Sommation(a, n) qui reçoit en entrée deux entiers a et b et renvoi
n
ka.
P
en sortie y le résultat de la somme suivante : y =
k=1

4. Utiliser la fonction solve de Matlab pour résoudre le système d’équations suivant

6x + y − 5z = 10
2x + 2y + 3z = 11
4x − 9y + 7z = 12

5. Tracer les graphes des fonctions suivantes sur deux figures différentes et sur une même
figure:
x → cos(x), x ∈ [0, 2π], x → sin(x), x ∈ [0, 2π]. (utiliser la
fonction plot puis fplot et légender ces graphes).

6. Tracer la surface donnée par l’équation

z = sin(x)cos(y), pour x ∈ [−5, 5] et y ∈ [−5, 5].

1
TP2
Interpolation polynômiale: Lagrange et Newton

On considère les points des coordonnées (xi , yi )i=0,...,2 suivantes:

x 0 1 2

y 1 2 5

1. En utilisant la méthode de Lagrange

(a) Écrire un programme Matlab qui construit le polynôme d’interpolation P2 (x) de degré
deux qui interpole les points (xi , yi )i=0,....,2 .
(b) Tracer P2 (x) et les points d’interpolation sur la même figure.
(c) Écrire un programme qui interpole le point t = 0.756.

2. En utilisant la méthode de Newton

(a) Écrire un programme Matlab qui construit le polynôme d’interpolation P2 (x) de degré
deux qui interpole les points (xi , yi )i=0,....,2 .
(b) Tracer P2 (x) et les points d’interpolation sur la même figure.
(c) Écrire un programme qui interpole le point t=0.756.
(d) On rajoute un point d’interpolation (x3 , y3 ) = (3, 28) aux points précédents. Tracer
P3 (x).

3. Soit une fonction f (x) = x2 + 1 définie sur l’intervalle [0, 2].

(a) Tracer la fonction f (x) et vérifier que les points (xi , yi )i=0,....,2 du tableau appartient
au graphe de la fonction f (x).
(b) Calculer la valeur exacte f (t) pour t = 0.756 et comparer avec les interpolations
précédentes.

2
TP3
Intégration numérique d’une fonction: Méthode de Trapèze et Simpson

On se propose de calculer l’intégrale définie par :


Z 2π
I= xexp(−x)cos(2x)dx
0

1. Écrire un programme qui approche l’intégrale I en utilisant la méthode du Trapèze com-


posée 10 fois.

2. Refaire l’exécution pour n=100.

3. Matlab possède une fonction équivalente, c’est la fonction TRAPZ, TRAPZ (Y) donne la
valeur calculée par la méthode du trapèze sur un vecteur Y avec un pas d’intégration uni-
taire. Adapter cette fonction pour le calcul de notre intégrale I.

4. Écrire un deuxième programme qui approche cette intégrale en utilisant la méthode de


Simpson composée 5 fois.

5. Refaire l’exécution pour 2n=100.

6. Il existe une fonction dans Matlab qui ressemble à la méthode de Simpson, la fonction
QUAD qui implémente l’algorithme de Simpson adaptatif.
La syntaxe de cette fonction est : I= QUAD(nom_fonction,a,b) où nom_fonction est le nom
de la fonction à intégrer, et a et b sont les bornes d’intégration. La fonction doit impéra-
tivement accepter des variables de type vecteur. Utiliser cette fonction et comparer avec le
résultat obtenu en (3).

7. Comparer les résultats obtenus sachant que la valeur exacte est -0.12212260461896.

8. Calculer l’erreur relative en changeant à chaque fois le nombre de sous-intervalles n, et


Tracer l’erreur relative en fonction du n.

9. Conclure l’influence du nombre de sous intervalles n sur l’erreur d’intégration.

3
TP4
Résolution numérique des équations non linéaires.

Soit la fonction f (x) = x + ex + 1 définie sur [0, 1]. On souhaite calculer la valeur approchée
de la racine de f (x) en utilisant les méthodes suivantes:

1. Méthode du Dichotomie

(a) Écrire un programme Matlab permettant l’implémentation du schéma numérique de


cette méthode.
(b) Appliquer le programme de dichotomie pour la résolution de f (x) = 0 et complétez
le tableaux suivant
ε xi (Racine) f (xi ) Erreur Nombre d’itération
10−3
10−9
10−12
(c) Afficher, sur le même graphe, la fonction f (x), la solution approchée.

2. Méthode du Newton

(a) Écrire un programme Matlab permettant l’implémentation du schéma numérique de


cette méthode.
(b) Appliquer le programme de Newton pour la résolution de f (x) = 0.
(c) Afficher le nombre d’itérations conduisant à la solution approchée.
(d) Afficher, sur le même graphe, la fonction f(x), la solution approchée.

3. Méthode du point fixe

(a) Écrire un programme Matlab permettant l’implémentation du schéma numérique de


cette méthode.
(b) Appliquer le programme de Newton pour la résolution de f (x) = 0.
(c) Afficher le nombre d’itérations conduisant à la solution approchée.
(d) Afficher, sur le même graphe, la fonction y = x, g(x) = −exp(x) − 1 et la solution
approchée.
(e) Tester le programme de Newton en prenant la tolérance ε = 10−3 puis ε = 10−9 et
ε = 10−12 , que se passe-t-il?

4. Comparer les différentes méthodes implémentées pour la résolution de f(x)=0.

4
TP5
Résolution numérique des systèmes linéaires.

Soit le système linéaire suivant :




 10x1 + 7x2 + 8x3 + 7x4 = 4


 7x1 + 5x2 + 6x3 + 5x4 = 3

(1)


 8x1 + 6x2 + 10x3 + 9x4 = 3


7x1 + 5x2 + 9x3 + 10x4 = 1

L’objectif de ce TP est de résoudre ce système linéaire à l’aide des méthodes suivantes

1. Méthode d’élimination de Gauss

(a) Écrire le système (1) sous forme matricielle (Ax = b) et définir à l’aide d’instruction
Matlab la matrice A et le vecteur b.
(b) Programmer la fonction eliminationGauss (fichier eliminationGauss.m) qui fait la ré-
solution du système Ax = b. Tester le programme pour résoudre le système (1).
(c) Vérifier le résultat de la question b en utilisant la commande matlab inv (x = inv(A)×
b).

2. Méthode de décomposition LU

(a) Programmer la fonction LU (fichier LU.m) qui calcule la factorisation LU d’une ma-
trice
(b) Vérifier le résultat en utilisant directement la fonction matlab lu ([L, U ] = lu(A).
(c) Programmer la fonction ResolutionLU (fichier ResolutionLU.m) qui fait la résolution
du système Ax = b. Tester la fonction pour résoudre le système (1).

3. Méthode de Cholesky
Soit A une matrice symétrique définie positive. La factorisation de Cholesky A = BB T
peut se faire par identification des coefficients situés dans la partie triangulaire inférieure de
A par la formule suivante :
j
X
Aij = Bik Bjk
k=1

(a) Écrire la fonction Cholesky(fichier Cholesky.m ) qui calcule la matrice B, tester la


fonction Cholesky pour factoriser la matrice A du système (1).
(b) Vérifier le résultat en calculant directement avec la commande matlab chol B =

chol(A) .

4. Comparer les différentes méthodes implémentées pour la résolution du système (1).

5
Solution TP1
Initiation à MATLAB

1. Les instructions Maltlab

2. Script Fichier.m

3. Main de La fonction sommation

6
La fonction sommation

4. La fonction solve de Matlab

5. Graphe de la fonction cos(x)

cos(x)
1

0.8

0.6

0.4

0.2
f(x)

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7
x

6. Graphe de la fonction sin(x)

7
sin(x)
1

0.8

0.6

0.4

0.2

f(x)
0

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7
x

Les graphes de deux figures sur même graphe

sin(x) et cos(x)
1
sin(x)
0.8 cos(x)

0.6

0.4

0.2

f(x)
0

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7
x

7. Tracer la surface

0.5

-0.5

-1
5
5
0
0

-5 -5

8
Solution de TP2
Interpolation polynômiale: Lagrange et Newton

1. En utilisant la méthode de Lagrange

(a) Écrire un programme Matlab qui construit le polynôme d’interpolation P2 (x) de degré
deux qui interpole les points :

(b) Tracer P2 (x) et les points d’interpolation sur la même figure.

2. Écrire un programme Matlab permettant l’interpolation de f (x) pour t = 0.756 en utilisant


la méthode de Lagrange.

9
P 2 (x)=x 2 +1

y
2

-0.5 0 0.5 1 1.5 2 2.5


x

Figure 1: L’interpolation par Lagrange

• le programme affiche I = 1.571536

3. En utilisant la méthode de Newton

(a) Écrire un programme Matlab qui construit le polynôme d’interpolation P2 (x) de degré
deux qui interpole les points :

10
(b) Tracer P2 (x) et les points d’interpolation sur la même figure.

P 2 (x)=x 2 +1

3
y

-0.5 0 0.5 1 1.5 2 2.5


x

Figure 2: L’interpolation par Newton

(c) Écrire un programme Matlab permettant l’interpolation de f (x) pour t = 0.756 en


utilisant la méthode de Newton.

11
• le programme affiche I = 1.571536
(d) On rajoute un point d’interpolation (x3 ; y3 ) = (3; 28) aux points précédents. Tracer
P3 (x).

P 3 (x)=x 3 +1
30

25

20

15
y

10

0
0 0.5 1 1.5 2 2.5 3
x

Figure 3: L’interpolation par Newton

12
4. Soit une fonction f (x) = x2 + 1.

(a) Tracer la fonction f(x)

f(x)=x 2 +1

3
y

-0.5 0 0.5 1 1.5 2 2.5


x

Figure 4: La courbe de la fonction f (x)

(b) Calculer la valeur exacte de la fonction et comparer avec les interpolations précédentes.

• la valeur exacte est 1.571536

• Les deux méthodes donnent les mêmes résultats. En générale La formule de


Newton (ou polynôme de Newton ) est une autre forme d’écriture du polnôme
d’interpolation de Lagrange. l’interêt du polynôme de Newton est qu’il est plus
maniable et moins coûteux et peut être calculer de manière récursive.

13
Solution de TP3
Intégration numérique d’une fonction: Méthode de Trapèze et Simpson

1. Un programme qui calculerait cette intégrale en utilisant la méthode du Trapèze et en di-


visant l’intervalle d’intégration en 10 intervalles.

Pour n=10 le programme affiche:

I = −0.157230870540556.

2. Pour n=100 le programme affiche:

I = −0.122455034409351.

3. La fonction Matlab utilisée est

Pour n=100 et en utilisant la fonction TRAPZ le programme affiche:

I2 = −0.122455034409351

14
4. Un deuxième programme qui calculerait cette intégrale en utilisant la méthode de Simpson
avec les mêmes conditions que dans (1).

Pour n=10 le programme affiche:

I2 = −0.117322797037811.

5. Pour n=100 le programme affiche:

I2 = −0.122122604540070.

6. La fonction Simpson utilisée est

15
Pour n=100 et en utilisant la fonction QUAD le programme affiche:

I3 = −0.122122499051227.

7. Les résultats de la méthode de Simpson mieux que celle du Trapèze. Ceci provient du fait
qu’elle pondère plus le point central.

8. l’erreur relative en changeant à chaque fois le nombre de sous-intervalles n

16
L’erreur relative en fonction du n.

P 3 (x)=x 3 +1
30

25

20

15
y

10

0
0 0.5 1 1.5 2 2.5 3
x

Figure 5: Influence du nombre de sous-intervalle sur l’erreur d’intégration

9. À partir de la figure, il apparaît clairement que plus le nombre de sous intervalles est élevé
plus l’erreur d’intégration est faible. Ce résultat s’explique par le fait que plus n (nombre de
sous intervalles) est grand plus on s’approche de la forme continue de la fonction à intégrer.

17
Solution TP4
Résolution numérique des équations non linéaires.

1. Méthode de Dichotomie
Ecrire un programme Matlab permettant l’implémentation du schéma numérique de cette
méthode.

ε xi (Racine) f (xi ) Erreur Nombre d’itération


10−3 0.866210937500000 −2.21 × 10−4 9.76 × 10−4 10
10−9 0.865474033169448 −2.04 × 10−10 9.31 × 10−10 30
10−12 0.865474033101236 1.13 × 10−12 9.09 × 10−13 40

18
fonction f(x)=x+ex +1
12

10

-2

-4

-6
-6 -5 -4 -3 -2 -1 0 1 2

2. Méthode de Newton
Ecrire un programme Matlab permettant l’implémentation du schéma numérique de cette
méthode.

19
fonction f(x)=x+ex +1
12

10

4
f(x)

-2

-4

-6

-8
-6 -5 -4 -3 -2 -1 0 1 2
x

3. Méthode du point fixe


Ecrire un programme Matlab permettant l’implémentation du schéma numérique de cette
méthode.

20
2

1 y=x

-1
g(x) = −ex − 1
-2

-3

-4

-5

-6
-2 -1.5 -1 -0.5 0 0.5 1 1.5

21
Solution TP5
Résolution numérique des systèmes linéaires.

1. Méthode d’élimination de Gauss

2. La méthode de décomposition LU

22
23
24
3. Méthode de Cholesky

25

Vous aimerez peut-être aussi