Recueil M148
Recueil M148
TECHNIQUES D'ERRACHIDIA
Département de Mathématiques
R ecueil d'exercices corrigés
Module M 148
Méthodes numériques
Ce document propose des exercices corrigés illustrant le cours du Module M.148 ; Méthodes
Numériques. Les corrections sont abondamment commentées pour faciliter la compréhension et
expliciter le raisonnement qui conduit à la bonne solution. On a inclus dans ce texte nombreux
exercices corrigés qui permettent d'orienter les raisonnements vers d'autres domaines (physique,
chimie, nance, etc.), cela an souligner l'intérêt des méthodes numérique au sens large (modé-
lisation, analyse mathématique, discrétisation, approximation, résolution numérique et interpré-
tation des résultats).
iii
iv
Série 1 : Notions d'erreur numérique
Exercice 1 :
Exercice 2 :
1
2
On sait que pour une équation du second degré unitaire x2 + bx + c qui admet 2 racines x1 , x2 ,
s'écrit x2 − (x1 + x2 )x + x1 x2 , c'est à dire b = −(x1 + x2 ) et c = x1 x2 . Si x2 = −b, alors
x1 = c/x2 = −c/b.
Dans notre cas x2 = −111.092, x1 = −0.0109.
Exercice 3 :
Exercice 4 :
Soit f une fonction régulière qui vérie f (10) = 100 ; f 0 (10) = 3 et f 00 (10) = −1, satisfaisant
|f (x)| < 0.03 ∀x ∈ I , où I est un intervalle centré en x0 = 10.
000
Exercice 5 :
Soit un triangle dont les longueurs des côtés sont données par les réels a, b et c. Son aire A
est donnée par la formule de Héron
p
A= s(s − a)(s − b)(s − c)
Corrigé. L'aire d'un triangle de côtés a, b et c, par la formule de Héron d'Alexandrie est
p
A= s(s − a)(s − b)(s − c)
où s = a+b+c
2 (demi- périmètre).
Pour a = 5, b = 3 et c = 0.5, A = 3.8564, mais pour c = 0.1 A devient complexe, puisque
s − a < 0, ce qui met en défaut cet algorithme. (Rétablit par l'algorithme de Kahan).
Exercice 6 :
a)A l'aide d'un calcul à 4 chires décimaux signicatifs, résoudre en utilisant la méthode
d'élimination de Gauss le système ci-dessous
10−4 x + y =
1
(E)
x+y = 2
b) Montrer
que le système (E) est équivalent au système (Ẽ)
˜ x+y = 2
(E)
10−4 x + y = 1
c) Résoudre (Ẽ), et conclure.
10−4 x + y =
1
Corrigé. Soit (E)
x+y = 2
10−4
1 x 1
qu'on peut écrire sous forme matricielle : 1 1
=y 2
En utilisant la
méthode d'élimination
deGauss
(triangularisation), le système devient :
−4
10 1 x 1
L2 − 104 L1 →
0 −9999 y
= −9998
Ce qui donne pour un calcul à 4 chires signicatifs y = 1 et x = 0, absurde puisque x + y = 2
(Ceci est dû à la méthode de Gauss qui n'est pas stable lorsqu'on utilise un 'pivot' proche de 0,
dans notre cas c'était 10−4 ).
b) Le système
(E) est équivalent au système (Ẽ)
˜ x+y = 2
(E)
10−4 x + y = 1
0 1
Il sut de pré-multiplier le système (E) par la matrice 1 0
.
Le système (Ẽ) peut écrire sous forme matricielle : 101−4 1
1
x
y
= 2
1
En utilisant la méthode
d'élimination
de Gauss
(triangularisation),
le système devient :
1 1 x 2
−4
L2 − 10 L1 →
0 0.9999 y
= 0.9998 .
Ce qui donne y = 0.9998 et x = 1.0002. (Solution exacte du système).
4
Série 2 : Interpolation polynômiale
Exercice 1 :
dont les racines sont x0 , x1 , x2 , ..., xn−1 . ωn est un polynôme unitaire de degré n qui peut être
exprimé dans la base canonique comme suit
ωn (x) = xn + λn−1 xn−1 + λn−2 xn−2 + ... + λ1 x + λ0 ,
on sait que le déterminant d'une matrice ne change pas si on ajoute à une colonne une combinai-
son linéaire des autres colonnes. En appliquant ce principe, on va ajouter à la derniére colonne
la combinaison linéaire suivante : λ0 × colonne1 +λ0 × colonne2+ ...+λn−1 × colonne n.
On obtient alors à la dernière colonne les termes suivants :
i,n+1
Vn+1 i est l'indice de la ligne n + 1 est l'indice de la colonne.
Où Vn+1
i,n+1
= ωn (xi ). Or ωn (xi ) = 0, ∀1 ≤ i ≤ n.
La matrice Ṽn+1 qu'on obtient est la suivante :
x20 ··· x0n−1
1 x0 0
1 x1 x21 ··· x1n−1 0
.. .. .. .. .. ..
. . . . . .
Ṽn+1 = . .. .. .. .. ..
..
. . . . .
..
.
n−1
1 xn−1 x2n−1 xn−1 0
1 xn x2n ··· xnn−1 ωn (xn )
5
6
d'où det(Vn+1 ) = det(Ṽn+1 ) = det(Vn ).ωn (xn ), avec ωn (xn ) = Π0≤i≤n (xn − xi ), et on rétère le
procédé ce qui donne
det(Vn+1 ) = Π0≤i≤j≤n (xj − xi ).
Exercice 2 :
n
m
X f n+1 (ξx ) n
x = li (x)xm
i + Π (x = xi ).
i=0
(n + 1)! i=0
Exercice 3 :
i−1
On considère (n + 1) noeuds distincts {(xi , yi )}i=0,...,n , et on note ωi (x) = (x − xj ), le
Y
j=0
polynôme de degré i associés aux points {xj }j=0,...,i−1 .
Montrer que le polynôme d'interpolation aux noeuds {(xi , yi )}i=0,...,n ,
n
X ωn+1 (x)
Πn (x) = 0
i=0
(x − xi )ωn+1 (xi )
7
i=0
(x − xi )ω 0 n(xi )
Il sut de montrer que ∀i = 0, ..., n
ωn+1 (x)
li (x) = 0
(x − xi )ωn+1 (xi )
ωn+1 (x)
0 = li (x).
(x − xi )ωn+1 (xi )
Exercice 4 :
0 2 3 5
-1 2 9 87
b) Retrouver le polynôme d'interpolation, en utilisant cette fois la méthode de Newton.
Corrigé. a) Déterminons le polynôme d'interpolation de Lagrange relatif au tableau suivant :
0 = x0 2 = x1 3 = x2 5 = x3
−1 = y0 2 = y1 9 = y2 87 = y3
On a 4 noeuds, donc le polynôme p d'interpolation sera de degré 3
3 3
(x − xj )
où
X Y
p(x) = li (x)yi li (x) =
i=0
(xi − xj )
j=0
j 6= i
Le calcul des li donne : l0 (x) = (x−2)(x−3)(x−5)
−30 , l1 (x) = x(x−3)(x−5)
6 , l2 (x) = x(x−2)(x−5)
−6 et
l3 (x) = x(x−2)(x−3)
30 , d'où p(x) = 30 x − 7x + 30 x − 1
53 3 2 253
8
Exercice 5 :
Construire un script scilab qui prend en entrée deux vecteurs X = (x1 , x2 , ..., xn ) et Y =
n
(y1 , y2 , ..., yn ), et donne en sortie le polynôme d'interpolation Πn (x) = yi li (x) par la méthode
X
i=0
de Lagrange.
Application : Construire le polynôme d'interpolation de Lagrange de degré 2 de la fonction
f (x) = exp(x) sur lintervalle [−1, 1], avec comme noeuds les points x0 = −1, x1 = 0 et x2 = 1.
Corrigé. Code scilab pour le calcul du polynôme d'interpolation, ainsi que son tracé.
function P=Lagrange(X,Y)//X,Y vecteurs colonnes\\
n=length(X);\\
s=poly(0,'s');\\
for i=1:n\\
Z=X;\\
Z(i)=[];\\
Q(i)=poly(Z,'s'); \\
L(i)=Q(i)./horner(Q(i),X(i));\\
end\\
P=Y'*L\\
xx=linspace(min(X),max(X),50*n);\\
yy=horner(P,xx);\\
9
plot2d(xx,yy,5)\\
endfunction\\
Application
X=[-1;0;1];\\
Y=exp(X);\\
P=Lagrange(X,Y)\\
On obtient le résultat suivant :
p(x) = 1 + 1.1752012s + 0.5430806s2 , et la gure suivante :
Exercice 6 : Devoir
function P=newtonprime(X,Y)\\
n=length(X);\\
Z=Y,\\
for j=2:n,\\
for i=1:n-j+1,Z(i,j)=(Z(i+1,j-1)-Z(i,j-1))/(X(i+j-1)-X(i));end,\\
10
end,\\
x=poly(0,"x");\\
w(1)=1; \\
for i=2:n \\
w(i)=w(i-1)*(x-X(i-1)) \\
end \\
P=Z(1,:)*w \\
a=min(X) \\
b=max(X) \\
xx=linspace(a,b,50*n); \\
yy=horner(P,xx); \\
plot2d(xx,yy,5) \\
plot2d(X,Y,-1) \\
endfunction; \\
Série 3 : Intégration numérique
Exercice 1 :
Z π/2
A l'aide d'une certaine méthode d'intégration numérique, on a évalué I = sin(x) dx, en
0
utilisant trois valeurs diérente de h. On a obtenu les résultats suivants :
h I˜
0.1 1.001325
0.2 1.009872
0.4 1.078979
Compte tenu de la valeur exacte de I , déduire l'ordre de convergence de la méthode de quadrature
employée.
I = 0 sin x dx, la valeur exacte de I = 1.
R π/2
Corrigé.
Pour h1 = 0.1, la valeur approchée I˜1 de I , par la méthode proposée est I˜1 = 1.001325.
Pour h2 = 0.2, la valeur approchée I˜2 de I , par la méthode proposée est I˜2 = 1.009872.
Pour h3 = 0.4, la valeur approchée I˜3 de I , par la méthode proposée est I˜3 = 1.078979.
erri = |I − I˜i | ∼ Chpi i = 1, 2, 3, où p est l'ordre de convergence de la méthode de quadrature
employée. p
On a donc
err2 h2
err1 = 7.45 ∼ 23 = h1
p
De même err
3 h3
err2 = 8.0019 ∼ 2 = h2
3
Z 3.4
On veut calculer I = exp(x) dx, en utilisant la méthode des trapèzes composée.
1.8
Quel est le nombre minimum d'intervalles qui assure une approximation de I avec au moins 4
chires signicatifs.
Corrigé. Soit S une subdivision uniforme de l'intervalle [a, b] en n sous-intervalles
a = x0 < x1 = a + h < x2 = a + 2h < · · · < xn = a + nh = b
Z b n−1
X Z xi+1
I= f (x) dx = f (x) dx
a i=0 xi
On sait que dans la méthode du trapèze , pour une fonction de classe C 2 [α, β]
β
(β − α)3 00
Z
f (α) + f (β)
f (x) dx = × (β − α) − f (θ)
α 2 12
11
12
où θ ∈ [α, β].
(Il sut d'utiliser le polynôme d'interpolation de f aux points α et β ).
Donc Z b n−1 X h3 n−1
X f (xi ) + f (xi+1 )
f (x) dx = ×h− f 00 (θi )
a i=0
2 i=0
12
où θi ∈ [xi , xi+1 ]. Puisque f est de classe C 2 [a, b], il existe θ ∈ [a, b] tel que
n−1
X
f 00 (θi ) = nf 00 (θ)
i=0
Dans notre cas de gure, on désire une erreur inférieure ou égale à 10−4 , il sut donc que
(b − a)3
max |f 00 (x)| ≤ 10−4
12n2 x∈[a,b]
Pour f (x) = exp(x), a = 1.8 et b = 3.4,
(3.4 − 1.8)3 4
n2 ≥ 10 exp(3.8)
12
Ce qui donne n ≥ 319.8084, d'où n = 320.
Exercice 3 :
Déterminer les poids d'intégration ω1 et ω2 , ainsi que le point d'intégration t2 de sorte que
la formule de quadrature suivante :
1
−1
Z
f (t) dt ' ω1 f √ + ω2 f (t2 )
−1 3
soit de précision le plus élevé possible.
Corrigé. Déterminons les poids d'intégration ω1 et ω2 , ainsi que le point d'intégration t2 de
sorte que la formule de quadrature suivante :
1
−1
Z
f (t) dt ' ω1 f √ + ω2 f (t2 )
−1 3
soit de précision Zle plus élevé possible.
1
Pour f (t) = 1, f (t) dt = 2 = ω1 + ω2 (1)
−1
13
Z 1
√
3
Pour f (t) = t, f (t) dt = 0 = −
ω1 + t2 ω2 (2)
3
Z−11
2 ω1
Pour f (t) = t2 , f (t) dt = = + t22 ω2 (3)
−1 √
3 3
De (2), on tire que t2 ω2 = 33 ω1 (20 ), et de (3) t22 ω2 = 32 − ω31 (30 )
En faisant le rapport (3 )/(2 ), on obtient t2 = √3 ω1
0 0 2−ω 1
Soit l'approximation
Z x0 +h
h 2h
f (x) dx ' f (x0 ) + 3f x0 +
x0 4 3
2h
a) Obtenir un développement de Taylor de f jusqu'à l'ordre 4 et donner une nouvelle
x0 +
3
expression du terme de droite.
b) Obtenir un développement de Taylor à l'ordre 4 du terme de gauche.
c) Soustraire les expressions obtenues en a) et en b) pour obtenir le premier terme de l'erreur.
En déduire l'ordre de la méthode proposée.
d) Quel est le degré de la précision de cette méthode.
Corrigé. Soit l'approximation
Z x0 +h
h 2h
f (x) dx ' f (x0 ) + 3f x0 +
x0 4 3
2h
a) Après un développement de Taylor de f x0 + à l'ordre 4, le terme de droite devient
3
h2 0 h3 h4 h5 (4)
hf (x0 ) + f (x0 ) + f 00 (x0 ) + f (3) (x0 ) + f (x0 ) + O(h6 )
2 6 27 162
b) Le terme de gauche s'écrit :
h2 0 h3 h4 h5 (4)
hf (x0 ) + f (x0 ) + f 00 (x0 ) + f (3) (x0 ) + f (x0 ) + O(h6 )
2 6 24 120
14
c) Le premier terme de l'erreur est h4 f (3) (x0 ) 241 − 271 , et la méthode est d'ordre 4.
d) Le degré de précision est égale à 2. (Car l'erreur est nulle pour les polynômes de degré 2).
Problème :
Soient ∈]0, 1[ et f une fonction de classe C 3 ([0, 1]). On note a = f (0) et b = f (1).
1. Déterminer le polynôme P qui interpole f aux points 0, et 1.
2. Montrer que pour tout x dans l'intervalle [0, 1]
lim P (x) = (b − a − f 0 (0))x2 + f 0 (0)x + a = P (x).
→0+
Or Z xi+1
h h (xi+1 + xi ) h (x + xi )
f (x) dx ' f − √ + +f √ + i+1
xi 2 2 3 2 2 3 2
en utilisant le fait que xi+1 = xi + h
Z xi+1
h h 1 h 1
f (x) dx ' f xi + 1− √ + f xi + 1+ √
xi 2 2 3 2 3
d'où Z b N −1
X h h 1 h 1
f (x) dx ' f xi + 1− √ + f xi + 1+ √
a i=0
2 2 3 2 3
17
Code Scilab :
function I=GL(f,a,b,N)\\
h=(b-a)/N;\\
for i=1:N-1\\
x(i)=a+i*h\\
end\\
S=(f(a+0.5*h*(1-1/sqrt(3)))+f(a+0.5*h*(1+1/sqrt(3))))*0.5*h\\
for i=1:N-1 \\
S=S+0.5*h*(f(x(i)+0.5*h*(1-1/sqrt(3)))+f(x(i)+0.5*h*(1+1/sqrt(3)))) \\
end \\
I=S
endfunction\\
18
Série 4 : Dérivation numérique
Exercice 1 :
19
20
Exercice 3 :
Soit f une fonction régulière, telle que f (2) = 4, f (4) = 2, f (6) = 0 et f (8) = −5. Calculer
deux approximations d'ordre 2 de f 0 (2).
−f (6) + 4f (4) − 3f (2)
Corrigé. La diérence avant d'ordre 2 avec h = 2 donne f 0 (2) ' = −1.
4
f (4) − f (2) f (6) − f (2)
La diérence avant d'ordre 1 donne f 0 (2) ' = −1 pour h = 2 ; f 0 (2) ' = −1
2 4
f (8) − f (2)
pour h = 4 et f 0 (2) ' = −3/2 pour h = 6. Ensuite, on applique l'extrapolation de
6
Richardson sur la diérence avant d'ordre 1 pour obtenir des approximations d'ordre 2. Ainsi
2 × (−1) − (−1)
sur les résultats obtenus avec h = 2 et h = 4, on obtient f 0 (2) ' = −1 ; et
2−1
3 × (−1) − (−3/2)
avec h = 2 et h = 6, on obtient f 0 (2) ' = −3/4 qui sont des approximations
3−1
d'ordre 2.
Exercice 4 :
a) À l'aide des développements de Taylor appropriés, donner l'expression des deux premiers
terme de l'erreur liée à la formule
f (x + ah) − f (x − bh)
(a + b)h
On considère le θ-schéma
f (x + h) − f (x) f (x) − f (x − h)
f 0 (x) ' (1 − θ) +θ = Appθ (h)
h h
Montrer que les deux premiers termes de l'erreur associée au θ-schéma (Appθ (h)) sont donnés
par :
(2θ − 1) 00 h2
hf (x) − f (3) (x),
2 6
et en déduire l'ordre de précision du θ-schéma en fonction de θ.
21
Corrigé. On pose
f (x + h) − f (x) f (x) − f (x − h)
Appθ (h) = (1 − θ) +θ
h h
h2 00 h3 (3)
f (x + h) = f 0 (x) + hf 0 (x) + f (x) + f (x) + · · ·
2 6
2 3
h h (3)
f (x − h) = f 0 (x) − hf 0 (x) + f 00 (x) − f (x) + · · ·
2 6
D'où
(1 − 2θ) 00 1
Appθ (h) = f 0 (x) + hf (x) + h2 f (3) (x) + O(h3 )
2 6
Par suite
(1 − 2θ) 00 1
f 0 (x) = Appθ (h) − hf (x) − h2 f (3) (x) + O(h3 )
2 6
Si θ 6= 1/2, le θ-schéma est d'ordre 1.
Si θ = 1/2, le θ-schéma est d'ordre 2.
22
Série 5 : Résolution Numérique
f (x) = 0
Exercice 1 :
Corrigé. a) Soit f (x) = x3 + 2x2 + 10x − 20, montrons que f admet une racine unique dans
l'intervalle [1, 2]
on a f (1) = −7, et f (2) = 16, de plus f est continue, donc il existe au moins une racine dans
[1, 2].
f 0 (x) = 3x2 + 4x + 10, dont le discriminant est négatif, ce qui implique que f 0 (x) > 0 et par suite
f est strictement croissante, d'où l'unicité de la racine dans [1, 2] .
b) f (x) = 0 ⇐⇒ x(x2 + 2x + 10) = 20 ⇐⇒ x = x2 +2x+10 20
. Montrons que F ([1, 2]) ⊂ [1, 2].
2 +2x+10)2 < 0 =⇒ F est décroissante,
F 0 (x) = (x−40(x+1) donc ∀x ∈ [1, 2] F (2) ≤ F (x) ≤ F (1),
9 = 1.1111 ≤ F (x) ≤ 13 = 1.5384.
10 20
c)F 00 (x) = 120(x > 0, ce qui implique que F 0 est croissante, donc F 0 (1) ≤ F 0 (x) ≤
2
+2x+2)
(x2 +2x+2)3
F (2) ≤ 0, donc |F (x)| ≤ |F 0 (1)| = 0.473 ≤ 1/2
0 0
d) F continue de [1, 2] dans lui-même, de plus F est contractante, car |F 0 (x)| ≤ k < 1. Ce qui
entraine que la méthode itérative xn+1 = F (xn ) converge vers α le point xe de F , racine de f .
e)x0 = 1, x1 = 1.5384, x2 = 1.295019, x3 = 1.401825, · · · x8 = 1.368241.
Après 8 itérations on voit bien qu'on est très proche de la valeur donnée par Léonardi di Pisa.
Exercice 2 :
3π
On cherche à approcher la racine de la fonction f (x) = tan x − x pour x ∈ π, .
2
3π
a) Montrer que f admet une seule racine α ∈ π, .
2
23
24
3π
b) Montrer que α est un point xe de la fonction F dénie par F (x) = π+arctan x, x ∈ π, .
2
c) Construire une suite itérative qui converge vers α, et calculer xi , i = 1, · · · , 6, (x0 = 4).
Conclure.
Corrigé. Soit f (x) = tan(x) − x pour x ∈]π, 3π 2 [
a) f est continue sur ]π, 3π
2 [ , f (π) = −π , et lim f (x) = +∞, de plus f 0 (x) > 0, donc
x7→(3π/2)+
d'après le théorème des valeurs intermédiaires, il existe un unique α ∈]π, 3π 2 [ / f (α) = 0.
b)f (x) = 0 ⇐⇒ tan(x) = x, pour pouvoir composer avec la fonction arctan il faut que x soit
dans l'intervalle ] − π/2, π/2[. On a que tan(x) = tan(x − π), donc f (x) = 0 ⇐⇒ tan(x − π) = x,
puisque (x−π) ∈]0, π/2[, on peut composer par la fonction arctan, ce qui donne x−π = arctan(x),
d'où x = arctan(x) + π, c.à.d x point xe de la fonction F (x) = arctan(x) + π.
Montrons que F admet un point xe dans ]π, 3π 2 [.
F 0 (x) = 1+x 2 > 0, donc F est croissante,
1
Exercice 3 :
(r − xn−1 )2 00
qui donne (xn−1 − xn )f 0 (xn−1 ) + (xn − r)f 0 (xn−1 ) − f (xn−1 ) = f (λ), d'après (*)
2
(r − xn−1 )2 00
(xn−1 − xn )f 0 (xn−1 ) − f (xn−1 ) = 0 =⇒ (xn − r)f 0 (xn−1 ) = f (λ), d'où
2
f (2) (λ) 2
en = − e .
2f 0 (xn−1 ) n−1
Exercice 4 :
[−1, 1].
i) Montrer que f admet un zéro x∗ dans [−1, 1], et qu'il est unique.
ii)Écrire la méthode de Newton pour résoudre f (x) = 0. Quel est l'ordre de convergence de cette
méthode ? Justier votre réponse.
iii) Proposer une méthode d'ordre 2 pour résoudre l'équation donnée.
Corrigé. Soit α est une racine de f ∈ C 2 [a, b], de multiplicité m ≥ 2, c.à.d.
f (x) = (x − α) h(x), avec h(x) 6= 0.
m
i) Il est évident que f admet un zéro x∗ = 0 dans [−1, 1], et qu'il est unique.
ii) On a f (0) = f 0 (0) = f 00 (0) = 0 et f (3) (0) = 1. Donc 0 est une racine triple de f , une
application de la méthode de Newton-Raphson à f est d'ordre 1. En eet, pour x0 = 0.5, les
26
iter=0;\\
x=xini;\\
while(abs(f(x))>eps)\\
iter=iter+1\\
x=x-f(x)/numderivative(f,x)\\
end\\
alpha=x\\
endfunction\\
\begin{center}
Code de la méthode de Lagrange
\end{center}
iter=0;\\
x1=x0+0.1;\\
x=x1-f(x1)*(x1-x0)/(f(x1)-f(x0))\\
while(abs(f(x))>eps)\\
iter=iter+1\\
x0=x1;\\
x1=x;\\
27
x=x1-f(x1)*(x1-x0)/(f(x1)-f(x0))\\
end\\
alpha=x\\
endfunction\\