Cours MNI
Cours MNI
Cours MNI
Méthodes numériques
pour l'Ingénieur
1ème Année Génie Industriel/Logistique
1 Interpolation 4
1.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Techniques de l'interpolation polynomiale . . . . . . . . . . . . 5
1.3 Interpolation dans la base de Lagrange . . . . . . . . . . . . . 5
1.3.1 Base de Lagrange . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Erreur d'interpolation polynomiale . . . . . . . . . . . 6
1.4 Interpolation dans la base de Newton . . . . . . . . . . . . . . 6
1.4.1 Erreur d'interpolation de Newton . . . . . . . . . . . . 7
5 Intégration numérique 22
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2 La méthode des trapèzes . . . . . . . . . . . . . . . . . . . . . 23
5.3 La méthode de Simpson . . . . . . . . . . . . . . . . . . . . . 24
5.4 Methode de Gauss-Legendre . . . . . . . . . . . . . . . . . . . 25
5.4.1 Position du problème . . . . . . . . . . . . . . . . . . . 25
5.4.2 Polynômes de Legendre . . . . . . . . . . . . . . . . . . 25
6 Equations diérentielles 26
6.1 Problème de Cauchy . . . . . . . . . . . . . . . . . . . . . . . 26
6.2 Résolution numérique . . . . . . . . . . . . . . . . . . . . . . . 26
6.2.1 Méthode d'Euler . . . . . . . . . . . . . . . . . . . . . 27
6.2.2 Méthode de Runge-Kutta à pas unique . . . . . . . . . 28
6.2.3 Méthode de Prédicteur-Correcteur . . . . . . . . . . . . 30
Chapitre 1
Interpolation
1.1 Généralités
Nous considérons les polynômes comme outils pour résoudre des pro-
blèmes d'interpolation. Les algorithmes considérés seront donc uniquement
des algorithmes d'évaluation de polynômes ou d'expression de polynômes
dans diérentes bases.
La situation type d'un problème d'interpolation est la suivante :
Une fonction f est connue en un certain nombre d'abscisses x1 , x2 ,..., xn et
uniquement en ces points. f peut avoir une expression analytique compliquée,
ou bien les f (xi ) proviennent de mesures physiques.
Étant donné a appartenant à l'intervalle [min xi , max xi ], il s'agit d'évaluer
f (a). (Lorsque a 6∈ [min xi , max xi ], il s'agit d'un problème d'extrapolation).
Une fonction d'interpolation est une fonction p vériant
p(xi ) = f (xi ) i = 1, · · · ,n
mesure d'estimer).
La base canonique,
La base de Lagrange,
La base de Newton.
n
(x − x0 )(x − x1 )...(x − xi−1 )(x − xi+1 )...(x − xn ) Y x − xj
li (x) = =
(xi − x0 )(xi − x1 )...(xi − xi−1 )(xi − xi+1 )...(xi − xn ) xi − xj
j=0
j 6= i
1 si i=j
li (xj ) = δij =
0 si i 6= j
n
X
p(x) = yi li (x)
i=0
pk le polynôme
Soit d'interpolation de la fonction f aux points x0 , x1 ,...,
xk pour k = 0,1, · · · ,n.
Problème : Construire Pn par récurrence.
On a p0 (x) = f (x0 ) (polynôme de degré 0).
Méthodes Numériques : 2011/2012 7
Dénition 1 La quantité f [x0 ,x1 ,...,xk ] est appelée diérence divisée d'ordre
k de f aux points x0 ,x1 , · · · ,xk .
Lemme 1
f [xi ] = f (xi ), i = 0, · · · ,k
f [x1 , · · · ,xk ] − f [x0 ,x1 , · · · ,xk−1 ]
∀k ≥ 1 f [x0 ,x1 , · · · ,xk ] =
xk − x0
Chapitre 2
Norme matricielle et
conditionnement
n
!1/p
X
k x kp = |xpi | .
i=1
Pr. B. RADI 9
Cette dernière norme est l'une des plus utilisée avec la norme 2 et la norme
1. Il existe également des normes un peu plus exotiques (exemple norme
elliptique), mais nous allons travailler avec les normes que nous venons de
donner.
Dénition 5 Le rayon spectral d'une matrice A carrée, noté ρ(A), est déni
de la manière suivante :
ρ(A) = max | λi |
i=1,··· ,n
où les λi sont les valeurs propres de A. Il est à noter que les valeurs propres
peuvent être complexes et | λi | représente le module d'un nombre complexe,
en général (qui est un nombre réel positif ou nul).
Théorème 4 Soit A la matrice de format n × m, alors :
p
k A k2 = ρ(AT A).
Corollaire 2 Si A est une matrice carrée symétrique de format n×n, alors :
k A k2 = ρ(A).
Théorème 6 s
1. K(A) = K(A−1 ).
ρ(AT A)
2. K2 (A) = où (B) = min |λ|.
(AT A) λ∈Sp (B)
ρ(A)
3. Si A est hermitienne, alors K2 (A) = .
(A)
4. Si A est symétrique dénie positive alors K2 (A) = λmax
λmin
= ρ(A)ρ(A−1 ).
5. ∀α ∈ R∗ , K(αA) = K(A).
6. Si U est unitaire, alors K2 (U ) = 1.
7. Si U est unitaire, K2 (U.A) = K2 (A).
12
Chapitre 3
Résolution des systèmes linéaires
aik
aij ← aij − akj , i = k + 1, · · · ,n; j = k, · · · ,n + 1. (3.1)
akk
2ème Cas
Si akk = 0, on échange la ligne k avec une ligne l (k + 1 ≤ l ≤ n) telle que
alk 6= 0. Les lignes 1 à k − 1 restent inchangées et on transforme le reste de
la matrice A comme précédemment c-à-d :
et
aik
aij ← aij − akj , i = k + 1, · · · ,n; j = k, · · · ,n + 1 (3.3)
akk
3ème Cas
Si akk = 0, et alk = 0 ∀k ≤ l ≤ n, on arrête le processus (le système est
singulier).
a11 a12 . . . . . . ... . . . a1n a1,n+1
0 a22 . . . . . . ... . . . a2n a2,n+1
.. . . . . .
.
.
.
. . . . .
.
..
. . akk
A= . ak,k+1 . . . akn ak,n+1
. .
.. 0 ak+1,k+1 .
.
.. .
.
.
.
.
.
. . . .
0 ... ... 0 an,k+1 . . . ann an,n+1
avecaii 6= 0, ∀ 1 ≤ i ≤ k .
Enn, après (n − 1) itérations la matrice A devient :
Méthodes Numériques : 2011/2012 14
a11 . . . . . . . . . a1n a1,n+1
.. . .
0
. . .
. .
. .. .. . .
..
A= . . .
.
.
.
. .. .. . .
.. . .
. . . .
0 ... ... 0 an,n an,n+1
et le système linéaire associé est alors triangulaire supérieur et admet la même
solution que le système initial.
Théorème 7 Si A est une symétrique dénie positive, alors elle peut être
décomposée en A = L.LT .
Décomposition de la matrice A
Pn
Développons l'équation A = L.LT , ai,j = k=1 li,k lj,k , or li,k =0 si i < k.
On a donc
min(i,j)
X
ai,j = li,k lk,j , 1 ≤ i, j ≤ n.
k=1
Pr. B. RADI 15
ième
Pour la partie triangulaire supérieure de A, la r ligne s'écrit :
r
X
ar,j = lr,k lj,k j = r, · · · ,n
k=1
Soit
r−1
X
ar,j = lr,k lj,k + lr,r lj,r j = r, · · · ,n.
k=1
Ce qui donne l'algorithme suivant :
" r−1
# 21
X
(lr,k )2
lr,r = ar,r −
k=1
r = 1, · · · ,n
r−1
X
lik ljj
ar,j −
k=1
lj,r = lr,r
j = r + 1, · · · ,n
i−1 n
!
(k+1) 1 X (k+1)
X (k)
xi = bi − aij xj − aij xj , i = 1, · · · ,n. (3.7)
aii j=1 j=i+1
Il s'écrit aussi
x(k+1) = (D − E)−1 (b + F x(k) ) (3.8)
M = D − E, N = F (3.9)
(k)
L'algorithme de Gauss-Seidel ne nécessite qu'un vecteur de stockage, x
(k+1)
étant remplacé par x au cours de l'itération. Il est en général plus rapide
que l'algorithme de Jacobi, donc préférable.
17
Chapitre 4
Résolution des équations non
linéaires
Chapitre 5
Intégration numérique
5.1 Introduction
Z b n
X
f (x)dx = Ai f (xi ) + Rn (f )
a | {z }
|i=0 {z } erreur de quadrature
formule de quadrature
n
X
f (x) = li (x)f (xi ) + En (f )
i=0
Z b n
X
f (x)dx = Ai f (xi ) + Rn (f )
a i=0
Z b Z b
Ai = li (x)dx Rn (f ) = En (f )
a a
Z b n−1 Z
X xi+1
f (x)dx = f (x)dx avec x0 = a
a i=0 xi
n−1 n−1
h X h3 X
= [f (xi ) + f (xi+1 )] − f ”(ξi )
2 i=0
12 i=0
Z b
f (a) f (b)
f (x)dx = h[ + f (a + h) + ... + f (a + (n − 1)h) + ] + R(f )
a 2 2
3
avec : R(f ) = − (b−a)
12n2
f ”(ξ) ξ ∈ [a,b]
On voit immédiatement que : lim R(f ) = 0.
n→∞
Pr. B. RADI 24
On a :
Z x2i+2
h
f (x)dx = [f (x2i ) + 4f (x2i+1 ) + f (x2i+2 )] + Ri (f )
x2i 3
en supposant f quatre fois continuement diérentiable sur [a,b] :
Z 2
h5 (4)
Ri (f ) = f (ξi ) t2 (t − 1)(t − 2)dt ξ ∈ [x2i ,x2i+2 ]
4! 0
5
h
= − f (4) (ξi )
90
On obtient donc :
n
Z b 2
−1 Z x2i+2
X
f (x)dx = f (x)dx
a i=0 x2i
n n
2
−1 2
−1
hX h5 X
= [f (x2i ) + 4f (x2i+1 ) + f (x2i+2 )] − f (4) (ξi )
3 i=0 90 i=0
Z b X
g(x)dx = βk g(yk ) + R.
a
Z 1 n
X
f (t)dt = αk f (xk ) + R
−1 k=0
−1
ψ(u,x) = (1 − 2xu + u2 ) 2 .
5. Ln (x) = 2n−1
n
xLn−1 (x) − n−1
n
Ln−2 (x).
26
Chapitre 6
Equations diérentielles
Convergence
Théorème 15 Si f vérie les hypothèses:
i) f ∈ C 1 ([a,b] × R)
ii) f est Lipschitzienne en y:
|f (x,y) − f (x,z)| ≤ K|y − z| ∀x ∈ [a,b], ∀y,z ∈ R, K > 0
La méthode d'Euler converge.
Plus précisément, si on pose M = max{|y 0 (t)|, t ∈ [a,b]}, on a la majoration:
eK(b−a) − 1 M
|en | = |yn − y(xn )| ≤ . .h
K 2
et
lim max |en | = 0
n→∞ n=1,··· ,N
.
Remarque 4 1. Le résultat du théorème précédent s'exprime sous la forme
|en | ≤ A.h, A > 0 une constante ; c'est à dire que la méthode d'Euler
est du premier ordre.
2. Une méthode d'ordre 1 ne converge pas assez vite pour donner des ré-
sultats pratiques intéressants. On va voir un autre exemple de méthodes
numériques d'ordre plus élevé.
Méthodes Numériques : 2011/2012 28
tij = ti + θj h
j−1
X
yij = yi + h Ajk f (tik ,yik )
k=0
A10 = θ1
1 1
θ 1 = , θ2 = , θ3 = θ 4 = 1
2 2
1
A10 =
2
1
A20 = 0, A21 =
2
A30 = 0, A31 = 0, A32 = 1
1 1 1 1
A40 = , A41 = , A42 = , A43 =
6 3 3 6
Donc, pour calculer yi+1 , on procède comme suit :
4t
yi+1 = yi + (f (yi ,ti ) + 2f (ŷi+1/2 ,ti+1/2 ) + 2f (ỹi+1/2 ,ti+1/2 ) + f (ŷi+1 ,ti+1 ))
6
4t
ŷi+1/2 = yi + f (yi ,ti )
2
4t
ỹi+1/2 = yi + f (ŷi+1/2 ,ti+1/2 )
2
ŷi+1 = yi + 4tf (ỹi+1/2 ,ti+1/2 )
(0) 4t
yi+1 = yi + (55fi − 59fi−1 + 37fi−2 − 9fi−3 ) (6.1)
24
(0)
au pas précédent, on a yi qui est la valeur du prédicteur (modica-
teur) :
(0) (0) 251 (0)
ŷi+1 = yi+1 − (yi − yi ) (6.2)
720
(
(r+1) (r)
yi+1 = yi + 4t24
.(9.fi+1 + 19fi − 5fi−1 + fi−2 )
(0) (0) (6.3)
fi+1 = f (ŷi+1 ,ti+1 )
Les valeurs y1 , y2 et y3
peuvent être calculées à partir des formules de Runge-
(0)
Kutta. Étant donné que y3 n'existe pas, la valeur y4 est calculée à partir des
(0)
équations (1.5) et (1.6) et y4 va initialiser les calculs d'itérations (formule
(0) (0)
(1.7)). À partir de y5 , on estime y5 par l'équation (5), puis ŷ5 par la
formule (1.6). Cette valeur est injectée dans la formule (1.7) pour amorcer
les itérations.
31
Chapitre 7
Méthodes numériques de calcul
des valeurs propres et vecteurs
propres
7.1 Introduction
j=1
Corollaire 3 Une borne supérieure pour la plus grande valeur propre est
donc : ( " n
# " n
#)
X X
|λ| ≤ max |aij | , max |aij |
1≤i≤n 1≤j≤n
j=1 i=1
Pr. B. RADI 32
n
X
An x 0 = ak An−k x0 . (7.1)
k=1
An x0 = Ba (7.2)
−1 −3
a1
0 14
4
2 2
⇒ a2 = 0 1
7
−26 = −5 .
a3
2 6 2
1 0 −2
Pr. B. RADI 34
2apq π
tan 2α = ≡θ avec |α| ≤
app − aqq 4
ou encore
s
1 1
cos α = 1+ √
2 1 + θ2
s
1 1
sin α = sgn(θ) 1− √
2 1 + θ2
Si app = aqq , on choisira
1
cos α = √
2
sgn(apq )
sin α = √
2
Pr. B. RADI 35
On a alors
(a(1) 2 (1) 2 2 2 2
pp ) + (aqq ) = app + aqq + 2apq
(1)
et comme aii = aii pour i 6= p ou q
n
X n
X
(1)
(aii )2 = a2ii + 2a2pq
i=1 i=1
La suite des matrices Ak converge vers une matrice diagonale dont les élé-
ments diagonaux sont les valeurs propres de la matrice initiale A. La suite
des matrices Pk = H 1 H 2 . . . H k converge vers la matrice dont les colonnes
sont constituées des vecteurs propres. Au cours des itérations un terme peut
redevenir nul, mais on démontre que
X (k)
lim (aij )2 = 0.
k→∞
i6=j
n
X (k)
(aii )2
i=1
1− n < .
X (k+1)
(aii )2
i=1
(k)
|a(k)
pq | = sup |aij |.
i6=j
b1 c1 0 ··· 0
.. .
c 1 b 2 . .
c2
.
.. ..
B=
0 c2 . . 0
. . .. ..
.. ..
. . cn−1
0 ··· 0 cn−1 bn
et on note Bk la sous-matrice
b1 c1 0 ··· 0
.. .
c1 b2 . .
c2
.
.. ..
Bk =
0 c2 . . 0
. . .. ..
.. ..
. . ck−1
0 ··· 0 ck−1 bk
p0 (λ) = 1
p1 (λ) = b1 − λ
pk (λ) = (bk − λ)pk−1 (λ) − c2k−1 pk−2 (λ) pour k = 2, · · · ,n.
Pr. B. RADI 37
lim pk (λ) = +∞
λ→−∞
sgn(pk (a)) si pk (a) 6= 0
sgn(pk (a)) =
sgn(pk−1 (a)) si pk (a) = 0
Algorithme de Givens.
Pour déterminer une valeur propre de la matrice B, on se donne un in-
tervalle arbitraire [a0 ,b0 ] contenant λi . Soit c0 le milieu de l'intervalle [a0 ,b0 ]
On restreint alors l'intervalle de recherche à [a1 ,b1 ] dans lequel on peut trouver
λi . On détermine ainsi une suite d'intervalles emboîtés [ak ,bk ] contenant λi
et de longueur (b0 − a0 )/2k .