Cours Méthodes Numériques
A. Taakili
Interpolation et approximation polynomiale Dérivation et intégration numériques
I Polynôme d’interpolation de Lagrange I Dérivation numérique
I Polynôme d’Interpolation de Newton
F Différences centrées, différences
I Polynôme d’Interpolation de Hermite
décentrées
I Erreur d’interpolation
F Dérivée d’ordre supérieure
I Approximation au sens des moindres carrés
F Calcul de l’erreur et choix du pas
discrets
I Intégration numérique
Résolution des équations non linéaires F Méthode de Trapèze, méthode du
I Généralités point milieu
I Méthodes d’encadrement F Formules de Newton-cotes
I Méthodes de point fixe F Quadrature de Gauss
Chapitre 1 : Interpolation et approximation polynomiale
A. Taakili 1 / 36
Motivation 1/2
A. Taakili Chapitre 1 : Interpolation polynomiale 2 / 36
Motivation 2/2
Soit X = (ti , Ti ) un nuage de points, ti le temps et Ti la température
La théorie chimique ⇒ T = f (t)
A. Taakili Chapitre 1 : Interpolation polynomiale 3 / 36
Motivation pratique
Comparer Ti à f (ti ).
f n’est pas connue explicitement mais seulement tabulée
L’approximation de f vue comme une fonction, en utilisant les données
expérimentales (ti , Ti ) s’impose naturellement.
Question
Comment approcher le plus simplement possible une fonction? Par un polynôme.
A. Taakili Chapitre 1 : Interpolation polynomiale 4 / 36
Approximation polynomiale
Approchée f (connue ou non) par un polynôme est une demarche naturel.
Si f est assez régulière (Développement de Tayor) ⇒ Précision dépend de la
régularité.
A l’inverse, avec une hypothèse de régularité relativement faible, le théorème de
Stone-Weierstrass nous assure que l’on peut approcher uniformément tout
f ∈ C ([a, b]).
Théorème
Soit f une fonction de C ([a, b]). Alors pour tout ε > 0, il existe un polynôme P tel que
max |f (x ) − P(x )| < ε
x ∈[a,b]
A. Taakili Chapitre 1 : Interpolation polynomiale 5 / 36
Représenter-evaluer un polynôme en un point
Méthode plus simple : Exprimer p dans la base canonique
p(x ) = a0 + a1 x + ... + an−1 x n−1 + an x n
Complexité O(n2 ) (n’est pas recommandée)
Méthode d’Horner (la plus efficace)
p(x ) = a0 + x (a1 + x (a2 + ... + x (an−1 + xan )...))) (1)
bn = an
bn−1 = an−1 + x0 bn
...
b1 = a1 + x0 b2
b0 = a0 + x0 b1
A. Taakili Chapitre 1 : Interpolation polynomiale 6 / 36
Algorithme d’Horner
Algorithme 1.1 E = Horner(A, x0 )
E = An
pour i = n − 1 : (−1) : 0 faire
E = Ai + E ∗ x0
fin pour i
Complexité : n additions et n multiplications (NT = 2n = O(n)).
Calcul plus rapide mais aussi plus sûr (Erreurs d’arrondi)
A. Taakili Chapitre 1 : Interpolation polynomiale 7 / 36
Position du problème
Problème : Étant donnés un nuage de points X = (xi , fi )06i6n ou les xi sont distincts,
déterminer un polynôme p qui vérifie
1. deg(p) 6 n,
2. p(xi ) = fi , i = 0, 1, ..., n.
Questions
Existence et unicité?
Un algorithme permettant de construire p dans la pratique?
Étudier l’erreur commise en remplaçant f par p?
A. Taakili Chapitre 1 : Interpolation polynomiale 8 / 36
Interpolation quadratique (n = 2)
Étant donnés trois points (x0 , f0 ), (x1 , f1 ) et (x2 , f2 ). Trouver p tel que
1. deg(p) 6 2,
2. p(xi ) = fi , i = 0, 1, 2.
deg(p) 6 2 ⇒ p(x ) = a0 + a1 x + a2 x 2
1 x0 x02 a0 f0
p(xi ) = fi ⇐⇒ 1 x1 x12 a1 = f1 (2)
1 x2 x22 a2 f2
A. Taakili Chapitre 1 : Interpolation polynomiale 9 / 36
Interpolation quadratique : existence et unicité
det(V ) = (x1 − x0 )(x2 − x0 )(x2 − x1 )
det(V ) 6= 0 (V inversible) ssi xi sont distincts deux à deux.
p existe et unique ssi xi sont distincts deux à deux.
Généralisation
Théorème
Le problème (P) admet une solution unique si et seulemnt si les réels (xi )06i6n sont
deux à deux distincts.
Preuve:
p(t) = a0 + a1 t + a2 t 2 + ... + an t n ,
A. Taakili Chapitre 1 : Interpolation polynomiale 10 / 36
Interpolation polynomiale : existence et unicité
le résultat est le système linéaire
1 x0 x02 · · · x0n a0 f0
1 x1 x12 · · · x1n
a1 f 1
. = . (3)
. . .. ..
. .
. . . . .. ..
1 xn xn2 · · · xnn an fn
Définition
La matrice de ce système qu’on la note V est appelée matrice de Vandermonde associée
aux points x0 , x1 , x2 , . . . , xn .
A. Taakili Chapitre 1 : Interpolation polynomiale 11 / 36
Interpolation polynomiale :existence et unicité
On montre par récurrence que
Y
det(V ) = (xj − xi ) (cf.T. D.)
06i≺j6n
D’ou le résultat.
En principe, on peut déterminer les coefficients a0 , ..., an en résolvant ce système linéaire
par élimination de Gauss. Dans la pratique cette méthode n’est pas recommandée.
A. Taakili Chapitre 1 : Interpolation polynomiale 12 / 36
Interpolation polynomiale
Pourquoi?
La résolution de ce système linéaire dans le cas générale est très couteux (matrice
pleine).
Cette approche peut ramener à un système mal conditionner (amplification des
erreurs d’arrondi). Par exemple pour x0 = 100, x1 = 101 et x2 = 102, la matrice V
associée est
1 100 10000
V = 1 101 10201
1 102 10402
le conditionnement de V est approximativement 108 .
Shifting
Écrire p(x ) = b0 + b1 (x − x2 ) + b2 (x − x2 )2
Conclusion
Approche déconseillé sauf pour le cas quadratique
A. Taakili Chapitre 1 : Interpolation polynomiale 13 / 36
Polynômes de Lagrange : existence
L0 ∃ de p peut être établi de la façon suivante. Étant donnés n polynômes lj (t) qui
vérifient les conditions suivantes :
(
0 si i 6= j,
lj (xi ) = (4)
1 si i = j,
p s’écrit sous la forme
p(t) = f0 l0 (t) + f1 l1 (t) + ... + fn ln (t). (5)
On a
n
X
p(xi ) = fj lj (xi ) = fi li (xi ) = fi .
j=0
A. Taakili Chapitre 1 : Interpolation polynomiale 14 / 36
Polynômes de Lagrange : existence
Est ce que les (li )06i6n existent?
Pour n = 1, l0 = et l1 =.
Pour n = 2, nous avons
(t − x1 )(t − x2 ) (t − x0 )(t − x2 )
l0 (t) = , l1 (t) =
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 )
(t − x0 )(t − x1 )
l2 (t) = .
(x2 − x0 )(x2 − x1 )
Cas générale
n
Y (t − xi )
lj (t) = , j = 0, 1, ..., n.
i=0
(xj − xi )
i6=j
Définition
Ces polynômes sont appelés polynômes de Lagrange. Ils forment une base de Rn [X ]
A. Taakili Chapitre 1 : Interpolation polynomiale 15 / 36
Polynôme de Lagrange : unicité
Conséquences
Le système linéaire (3) admet une solution
La matrice de Vandermonde est inversible
Unicité
Proposition
Si un polynôme de degré n s’annule en n + 1 points distincts, alors le polynôme est
identiquement null.
Supposons que le problème (P) admet deux solution p et q. Posons r = p − q, on a
deg(r ) 6 n,
comme
r (xi ) = p(xi ) − q(xi ) = fi − fi = 0,
r admet n + 1 racines, r = 0. D’ou le résultat.
A. Taakili Chapitre 1 : Interpolation polynomiale 16 / 36
Interpolation de Lagrange : Exemple
Question
Pourquoi deg(p) 6 n?, et non pas deg(p) = n?
l’unicité de polynôme d’interpolation donne la réponse.
Exemple
Trouver un polynôme de degré au plus égale à deux qui en x0 = −1 vaut f0 = 8, en
x1 = 0 vaut f1 = 3 et en x2 = 1 vaut f2 = 6.
A. Taakili Chapitre 1 : Interpolation polynomiale 17 / 36
Interpolation polynomiale de type Newton
Méthode de Vandermonde : difficile de déterminer p mais facile à l’évaluer.
Méthode de Lagrange : facile à déterminer p mais difficile à l’évaluer.
Question
Y a t’il un compromis?
La réponse est oui, c’est l’interpolation de type Newton.
A. Taakili Chapitre 1 : Interpolation polynomiale 18 / 36
Interpolation de type Newton : Base de Newton
Etant donné (n + 1) points (xi , fi )06i6n
Base de Newton
L’ensemble des polynômes (mk )06k6n avec
1 si k = 0,
mk (x ) = k−1
Y
(x − xi ),
i=0
forment une base de Rn [X ]. les mk pour k = 0, · · · , n sont appelés polynômes de base
de Newton.
Preuve :
Le polynôme d’interpolation de Newton s’écrit :
p(x ) = c0 + c1 (x − x0 ) + c2 (x − x0 )(x − x1 ) + ... + cn (x − x0 )(x − x1 )...(x − xn−1 ). (6)
A. Taakili Chapitre 1 : Interpolation polynomiale 19 / 36
Différence divisées
Définition
Soit f une fonction numérique définie sur une partie D de R. Soit x0 et x1 deux éléments
de D tel que:
x0 < x1 et f (x0 ) = f0 , f (x1 ) = f1
f [x0 ] = f (x0 )
f [x1 ] − f [x0 ]
f [x0 , x1 ] =
x1 − x0
f [x1 ,x2 ]−f [x0 ,x1 ]
f [x0 , x1 , x2 ] = x2 −x0
f [x1 , x2 , . . . , xn ] − f [x0 , x1 , . . . , xn−1 ]
f [x0 , x1 , . . . , xn ] =
xn − x0
est une différence d’ordre n.
A. Taakili Chapitre 1 : Interpolation polynomiale 20 / 36
Différence divisées et Forme de Newton
Théorème
Soit f une fonction numérique définie sur une partie D de R. Soient x0 , x1 , . . . , xn des
points de D tels que: f (xk ) = fk. . Alors le polynôme d’interpolation de Newton est de la
forme :
p(x ) = f0 + (x − x0 )f [x0 , x1 ] + (x − x0 )(x − x1 )f [x0 , x1 , x2 ]
+(x − x0 )(x − x1 )(x − x2 )f [x0 , x1 , x2 , x3 ]
+ · · · + (x − x0 )(x − x1 ) . . . (x − xn−1 )f [x0 , x1 ....xn ]
Autrement dit
ck = f [x0 , x1 , ..., xk ] (7)
preuve :
A. Taakili Chapitre 1 : Interpolation polynomiale 21 / 36
Exercice
1) Calculer les différences relatives aux tableaux suivants :
k 0 1 2 3 k 0 1 2 3 4
(I) xk 0 1 2 4 (II) xk 0 1 2 3 4
fk 1 1 2 5 fk 1 2 4 5 7
2) Déterminer les polynômes d’interpolation de Newton des tableaux (I) et (II).
A. Taakili Chapitre 1 : Interpolation polynomiale 22 / 36
Algorithme de calcul des ci
Par définition de différence divisées, on a
f [x1 , x2 , ..., xk ] − f [x0 , x1 , ..., xk−1 ]
f [x0 , x1 , ..., xk ] = (8)
xk − x0
Conséquence
f0 = f [x0 ]
f1 = f [x1 ] f [x0 , x1 ]
f2 = f [x2 ] f [x1 , x2 ] f [x0 , x1 , x2 ]
f3 = f [x3 ] f [x2 , x3 ] f [x1 , x2 , x3 ] f [x0 , x1 , x2 , x3 ]
On calcul di0 = f [xi ] = fi pour i = 0, ..., n, puis
di,j−1 − di−1,j−1
dij = , j = 1, 2, .., n, et i = j, j + 1, ..., n (9)
xi − xi−j
A. Taakili Chapitre 1 : Interpolation polynomiale 23 / 36
Erreur d’interpolation
Soit p le polynôme d’interpolation de f aux point x0 , x1 , ..., xn . posons
E (x ) = f (x ) − p(x )
Théorème
Si f ∈ C n+1 (I), I le plus petit intervale contenant x0 , x1 , ..., xn et x . Alors il existe un
ξx ∈ I tel que
f (n+1) (ξx )
E (x ) = (x − x0 )...(x − xn ) (10)
(n + 1)!
Dans le cas où xi = x0 + ih (points uniform. répartis), l’erreur d’interpolation est o(hn )
Lemme
D’après le théorème prćédent,
f (n+1) (ξx )
|E (x )| 6 max max |(x − x0 )...(x − xn )| (11)
x ∈I (n + 1)! x ∈I
A. Taakili Chapitre 1 : Interpolation polynomiale 24 / 36
Bornes de l’erreur : interpolation linéaire
Soit l(t) le polynôme d’interpolation linéaire de f (t) aux points x0 et x1
Hyp. |f 00 (t)| 6 M
On a
M
|f (t) − l(t)| 6 |(t − x0 )(t − x1 )|.
2
1er cas : t ∈
/ [x0 , x1 ] (Extrapolation)
2eme cas : t ∈ [x0 , x1 ] (Interpolation)
M
|f (t) − l(t)| 6 (x1 − x0 )2 . (12)
2
Application f (t) = sin(t), précision de 10−4
h2
|sin(t) − l(t)| 6 .
8
A. Taakili Chapitre 1 : Interpolation polynomiale 25 / 36
Convergence : phénomène de Runge
1
f (x ) = 1+16x 2
sur [−1, 1].
A. Taakili Chapitre 1 : Interpolation polynomiale 26 / 36
Convergence (suite)
Remarque
L’erreur résulte de deux termes :
La dérivée (n + 1)eme de la fonction à interpoler.
Le deuxième terme dépend du choix des xi .
Le problème est donc : comment choisir les xi pour rendre la quantité
n
Y
max |x − xi |
x ∈[a,b]
i=0
minimale?
A. Taakili Chapitre 1 : Interpolation polynomiale 27 / 36
Phénomène de Runge
On démontre que cette quantité est minimale pour les xi racines des polynômes de
Tchebychev
b−a (2i + 1)π b+a
xi = cos + , i = 0, ..., n.
2 2n + 2 2
Rappel
Les polynômes de Tchebychev Tk définis sur [−1, 1] sont tels que
Tk (x ) = cos(k(arccos(x ))). On a
T0 (x ) = 1
T1 (x ) = x
= 2xTk (x ) − Tk−1 (x ).
T
k+1 (x )
A. Taakili Chapitre 1 : Interpolation polynomiale 28 / 36
Interpolation d’Hermite
Problème
Étant donné un nuage de point (xi , f (xi )) et (xi , f 0 (xi )), 0 6 i 6 n où les xi sont
distincts, déterminer un polynôme p qui vérifie
1. deg(p) 6 2n + 1,
2. p(xi ) = f (xi ), i = 0, 1, ..., n,
3. p 0 (xi ) = f 0 (xi ), i = 0, 1, ..., n.
Comme pour l’interpolation de Lagrange, on cherche p sous la forme :
n n
f 0 (xj )vj (x )
X X
p(x ) = f (xj )uj (x ) +
j=0 j=0
A. Taakili Chapitre 1 : Interpolation polynomiale 29 / 36
Interpolation d’Hermite
Dans ce cas, les conditions vérifies par p imposent :
ui (xj ) = δij et ui0 (xj ) = 0,
vi (xj ) = 0 et vi0 (xj ) = δij ,
pour i, j = 0, ..., n. Pour i fixé, pour tout j 6= i, xj est un zéro double de ui et de vi . On
en déduit
ui (x ) = p(x )li2 (x ), vi (x ) = q(x )li2 (x ),
A. Taakili Chapitre 1 : Interpolation polynomiale 30 / 36
Erreur d’interpolation
Théorème
Soit f une fonction de classe C 2n+2 (]a, b[, R) avec x0 , x1 , ..., xn distincts dans ]a, b[, alors
∀x ∈]a, b[, x 6= xi , il existe δx ∈]a, b[:
n
f (2n+2) (δx ) 2 Y
f (x ) − p(x ) = w (x ), ou w (x ) = (x − xi ).
(2n + 2)! i=0
Preuve : Pour x 6= xi , on pose
f (x ) − p(x ) 2
F (u) = f (u) − p(u) − w (u).
w 2 (x )
Th. de Rolle
A. Taakili Chapitre 1 : Interpolation polynomiale 31 / 36
Approximation polynômiale : Méthode des moindres carrés discrets
Position du problème
Soit (xi , fi )06i6n un nuage de points (fi = f (xi )), les xi sont deux à deux distincts. Il
existe un polynôme unique Pm de degré m (m 6 n), Pm (x ) = m j
P
j=0 aj x réalisant la
meilleure approximation de f (x ) au sens de la norme euclidienne. On cherche alors
a = (a0 , a1 , · · · , am ) tels que :
n
X
J(a) = (fi − Pm (xi ))2
i=0
soit minimal.
Le polynôme Pm est le polynôme d’approximation au sens des moindres carrés discrets
de f .
A. Taakili Chapitre 1 : Interpolation polynomiale 32 / 36
Construction du polynôme Pm
J(a) est une forme quadratique en a et son minimum est atteint pour
∂J
(a) = 0 pour j = 0, · · · , m
∂aj
On obtient un système linéaire d’ordre m + 1
Ax = b,
avec x = (a0 , a1 , · · · , am )T , A matrice d’ordre m + 1 et b ∈ Rm+1 .
A. Taakili Chapitre 1 : Interpolation polynomiale 33 / 36
Construction du polynôme Pm
La matrice A et le second membre b sont donnés par :
Pn Pn
xim
n+1 x ···
Pn Pni=0 2i Pn i=0
m+1
i=0 xi i=0 xi ··· i=0 xi
A= .. .. .. .. ,
. . . .
Pn m Pn m+1 Pn 2m
i=0 xi i=0 xi ··· i=0 xi
n P
a0 i=0 fi
a n xf
P
1 P i=0 i i
n
a x 2f
2 , b = i=0 i i
x =
.. ..
. .
Pn m
am i=0 xi fi
A. Taakili Chapitre 1 : Interpolation polynomiale 34 / 36
Approximation polynômiale : Droite des moindres carrés
Soit (xi , yi )06i6n un nuage de points, les xi sont deux à deux distincts. On cherche alors
a = (a0 , a1 ) tels que :
n
X
J(a) = (yi − a0 − a1 xi ))2
i=0
soit minimal.
Le système linéaire associe s’écrit sous la forme Ax = b avec
Pn !
n+1 i=0 xi
A= Pn Pn 2 ,
i=0 xi i=0 xi
! Pn !
a0 i=0 yi
x= , b= Pn
a1 i=0 xi yi
A. Taakili Chapitre 1 : Interpolation polynomiale 35 / 36
Exemple (Droites des moindres carrés)
Soient les données expérimentales fourniesè dans le tableau suivant
xi 0 1 2 3 4 7
yi −2.2 −1.3 −1.5 −0.8 −0.4 1.4
Trouver la droite des moindres carrés associé à ce tableau.
Trouver la droite des moindres carrés passant par l’origine.
A. Taakili Chapitre 1 : Interpolation polynomiale 36 / 36