Analyse numérique I
Prof. Omar OUBBIH
Module (M148), MIP S4, 2023 – 2024
Département de Mathématiques
Faculté des Sciences et Techniques Errachidia
Chapitre 2 : Interpolation
polynomiale
Principe
Étant donné un ensemble de (n + 1) points (xi , yi ) i = 0, . . . , n définit comme suit :
(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ).
On souhaite construire une (la !!) fonction p, simple et facile à évaluer,
passant par ces points, c’est à dire
p(xi ) = yi , i = 0, · · · , n ?
↠ Les abscisses xi sont appelés nœuds
d’interpolation.
↠ Les points (xi , yi ) sont appelés points
d’interpolation, ou points de collocation.
⇒ Le défi est le suivant : si l’on ne connaı̂t que les points d’interpolation (xi , yi ) pour
i = 0, · · · , n, est-on capable d’obtenir une approximation d’une valeur de x différente
2/43
du xi ?
Un exemple : (évolution de la population)
On considère l’évolution de la population française depuis 1936 :
xi = Année yi = Population
1936 41 183 000
1946 39 848 000
1954 42 781 000
1962 46 459 000
1968 49 655 000
1975 52 599 000
1982 54 296 000
1990 56 652 000
1999 58 521 000
2005 60 825 000
99K Peut-on estimer le nombre d’habitants pendant les années où il n’y a pas eu de
recensement ?
99K Peut-on prédire le nombre d’habitants en 2010 ?
3/43
Solution !
Moindres carrés (Régression linéaire)
4/43
Solution. . .
Interpolation polynomiale en 6 points
5/43
La solution serait de créer un polynôme de degré suffisamment élevé et passant par les
points d’interpolation. On parle de polynôme d’interpolation, ou polynôme de
collocation.
Définition
On note Pn l’ensemble des polynômes de degré n, défini par
Pn = p(x) / p(x) = a0 + a1 x 1 + a2 x 2 + · · · + an x n ,
avec ai ∈ R pour tout i = 0, 1, . . . , n.
On recherche un polynôme pn ∈ Pn , tel que pour tout i = 0, 1, . . . , n on a
pn (xi ) = yi .
Par conséquence, on lance le résultat suivant. . .
Théorème (Existence et unicité du polynôme d’interpolation)
Si les xi i = 0, . . . , n sont deux à deux distincts (xi ̸= xj pour i ̸= j), alors il
existe un unique polynôme d’interpolation pn de degré deg (pn ) ≤ n tel que
pn (xi ) = yi , i = 0, · · · , n. (Pinter )
6/43
Définition (Interpolant)
Si l’on suppose que les ordonnées yi proviennent d’une fonction f ; c’est-à-dire
yi = f (xi ) i = 0, · · · , n, alors l’unique polynôme pn passant par les points
(xi , f (xi )) est appelé l’interpolant de f .
. Attention ! L’interpolant de f passant par (n + 1) points d’interpolation
peut être un polynôme de degré inférieur à n (exemple : imaginez les
ordonnées f (xi ) alignées sur une droite !).
On a donc l’unicité du polynôme d’interpolation, mais a-t-on toujours l’existence de
ce polynôme ?
⇒ S’obtient par construction.
7/43
On a (n + 1) points (xi , yi ), avec i = 0, · · · , n, on souhaite trouver pn tel que
pn (x0 ) = a0 + a1 x0 + a2 x02 + . . . + an x0n = y0 ,
pn (x1 ) = a0 + a1 x1 + a2 x12 + . . . + an x1n = y1 ,
.. ..
. .
p (x ) = a + a x + a x 2 + . . . + a x n = y ,
n n 0 1 n 2 n n n n
où les inconnues sont les coefficients ai . Cela revient à trouver (a0 , a1 , · · · , an ) tel que
x0 x02 x03 . . . x0n
1 a0 y0
1
x1 x12 x13 . . . x1n a1
y1
1
x2 x22 x23 . . . x2n a2 = y2
(S)
. .. .. . . . .
. .. .. ..
..
.
. . . . .
1 xn xn2 xn3 ... xnn an yn
| {z } | {z } | {z }
V a y
◦ Cela est donc équivalent à résoudre le système V a = y . La matrice V est
appelée matrice de Vandermonde.
◦ Le déterminant de la matrice V est non nul si les xi , i = 0, . . . , n sont distincts
deux à deux. Donc on obtient l’existence et l’unicité du polynôme
8/43
d’interpolation.
Quelques propriétés de la matrice de Vandermonde :
■ La matrice de Vandermonde est inversible si et seulement si les abscisses sont
distinctes, i.e xi ̸= xj pour i ̸= j.
⇒ Le polynôme d’interpolation existe seulement si la matrice V est inversible,
donc quand les abscisses xi sont distinctes,
■ Le conditionnement de la matrice augmente fortement quand n augmente,
■ La résolution se comporte mal quand les abscisses sont proches ou petites,
■ Si le nombre de points d’interpolation ou leurs positions changent, il faut tout
recommencer !
Conclusion : Cette approche est utile uniquement du point de vue théorique, car elle
donne une condition d’existence du polynôme d’interpolation. On ne l’utilisera pas
numériquement.
9/43
Interpolation de Lagrange
L’approche de Lagrange pour construire le polynôme d’interpolation est simple,
systématique et sans passer par la résolution du système linéaire (S).
Étant donné (n + 1) points (x0 , y0 ), . . . (xn , yn ), avec les xi sont distincts deux à deux.
Le polynôme d’interpolation sous la forme de Lagrange est une combinaison linéaire
n
X
pn (x) = y0 ℓ0 (x) + y1 ℓ1 (x) + . . . + yn ℓn (x) = yi ℓi (x)
i=0
de polynômes de base de Lagrange
n
Y (x − xj ) (x − x0 )(x − x1 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn )
ℓi (x) = = ,
j=0
(xi − xj ) (xi − x0 )(xi − x1 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn )
j̸=i
où i = 0, . . . , n.
⇒ Noter comment, étant donnée l’hypothèse initiale qu’il n’y a pas de deux xj
identiques, alors lorsque i ̸= j, xi − xj ̸= 0, cette expression est toujours bien
définie.
10/43
De plus, pour tout i = 0, . . . , n on a
(
1 si i = j
ℓi (xj ) =
0 si i ̸= j
donc à chaque point xj avec ∀ 0 ≤ j ≤ n
pn (xj ) = y0 ℓ0 (xj ) + y1 ℓ1 (xj ) + . . . + yj ℓj (xj ) + . . . + yn ℓn (xj )
| {z } | {z } | {z } | {z }
=0 =0 =yj =0
= 0 + 0 + . . . + 0 + yj + 0 + . . . + 0
= yj
ceci montrant que p interpole exactement les points (x0 , y0 ), . . . (xn , yn ).
⇒ Il est donc important de remarquer que le problème d’interpolation (Pinter ) a
une unique solution explicite p.
11/43
De tout ce qui précède, nous avons le théorème suivant. . .
Théorème (Interpolation de Lagrange)
Étant donné (n + 1) points (x0 , y0 ), . . . , (xn , yn ). Si les xi sont distincts deux
à deux, alors il existe l’unique polynôme pn de degré inférieur ou égal à n
tel que pn (xi ) = yi pour i = 0, . . . , n, qu’on peut écrire sous la forme dite de
Lagrange
Xn
pn (x) = yi ℓi (x),
i=0
n
Y x − xj
où ℓi (x) = .
j=0
xi − xj
j̸=i
Comment construire les polynômes ℓi , pour tout i = 0, . . . , n ?
12/43
Exemple 1. Pour n = 1 (⇒ deux points), on cherche le polynôme p1 de degré ≤ 1,
passant par deux points (x0 , y0 ) et (x1 , y1 ), qui s’écrit
13/43
Exemple 1. Pour n = 1 (⇒ deux points), on cherche le polynôme p1 de degré ≤ 1,
passant par deux points (x0 , y0 ) et (x1 , y1 ), qui s’écrit
p1 (x) = y0 ℓ0 (x) + y1 ℓ1 (x),
avec
(x − x1 ) (x − x0 )
ℓ0 (x) = et ℓ1 (x) =
(x0 − x1 ) (x1 − x0 )
vérifiant
(x0 − x1 ) (x1 − x1 )
ℓ0 (x0 ) = = 1, ℓ0 (x1 ) = = 0.
(x0 − x1 ) (x0 − x1 )
De même, ℓ1 (x0 ) = 0, et ℓ1 (x1 ) = 1.
Alors
(x − x1 ) (x − x0 )
p1 (x) = y0 +y1 .
(x0 − x1 ) (x1 − x0 )
13/43
Exemple 1. Pour n = 1 (⇒ deux points), on cherche le polynôme p1 de degré ≤ 1,
passant par deux points (x0 , y0 ) et (x1 , y1 ), qui s’écrit
p1 (x) = y0 ℓ0 (x) + y1 ℓ1 (x),
avec
(x − x1 ) (x − x0 )
ℓ0 (x) = et ℓ1 (x) =
(x0 − x1 ) (x1 − x0 )
vérifiant
(x0 − x1 ) (x1 − x1 )
ℓ0 (x0 ) = = 1, ℓ0 (x1 ) = = 0.
(x0 − x1 ) (x0 − x1 )
De même, ℓ1 (x0 ) = 0, et ℓ1 (x1 ) = 1.
Alors
(x − x1 ) (x − x0 )
p1 (x) = y0 +y1 .
(x0 − x1 ) (x1 − x0 )
⇒ C’est l’équation de la droite qui passe par les points (x0 , y0 ) et (x1 , y1 ).
13/43
Exemple 2. Pour n = 2 (⇒ trois points), on cherche le polynôme p2 de degré ≤ 2,
passant par trois points (x0 , y0 ), (x1 , y1 ) et (x2 , y2 ), sous la forme suivante
14/43
Exemple 2. Pour n = 2 (⇒ trois points), on cherche le polynôme p2 de degré ≤ 2,
passant par trois points (x0 , y0 ), (x1 , y1 ) et (x2 , y2 ), sous la forme suivante
p2 (x) = y0 ℓ0 (x) + y1 ℓ1 (x) + y2 ℓ2 (x),
avec les polynômes de base de Lagrange
(x − x1 )(x − x2 ) (x − x0 )(x − x2 ) (x − x0 )(x − x1 )
ℓ0 (x) = , ℓ1 (x) = et ℓ2 (x) = .
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Ainsi,
(x − x1 )(x − x2 ) (x − x0 )(x − x2 ) (x − x0 )(x − x1 )
p2 (x) = y0 + y1 + y2 .
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Encore une fois, on a bien
ℓ0 (x0 ) = 1, ℓ0 (x1 ) = 0, ℓ0 (x2 ) = 0,
ℓ1 (x0 ) = 0, ℓ1 (x1 ) = 1, ℓ1 (x2 ) = 0,
ℓ2 (x0 ) = 0, ℓ2 (x1 ) = 0, ℓ2 (x2 ) = 1.
14/43
Exemple 2. Pour n = 2 (⇒ trois points), on cherche le polynôme p2 de degré ≤ 2,
passant par trois points (x0 , y0 ), (x1 , y1 ) et (x2 , y2 ), sous la forme suivante
p2 (x) = y0 ℓ0 (x) + y1 ℓ1 (x) + y2 ℓ2 (x),
avec les polynômes de base de Lagrange
(x − x1 )(x − x2 ) (x − x0 )(x − x2 ) (x − x0 )(x − x1 )
ℓ0 (x) = , ℓ1 (x) = et ℓ2 (x) = .
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Ainsi,
(x − x1 )(x − x2 ) (x − x0 )(x − x2 ) (x − x0 )(x − x1 )
p2 (x) = y0 + y1 + y2 .
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Encore une fois, on a bien
ℓ0 (x0 ) = 1, ℓ0 (x1 ) = 0, ℓ0 (x2 ) = 0,
ℓ1 (x0 ) = 0, ℓ1 (x1 ) = 1, ℓ1 (x2 ) = 0,
ℓ2 (x0 ) = 0, ℓ2 (x1 ) = 0, ℓ2 (x2 ) = 1.
14/43
C’est l’équation de parabole qui passe par les points (x0 , y0 ), (x1 , y1 ) et (x2 , y2 ).
Exemple 3. Déterminons le polynôme d’interpolation p3 qui interpole les points :
(0, 1), (1, 3), (3, 0) et (4, 5).
...
15/43
En général :
Soit f : R → R une fonction continue, et soient x0 , x1 , . . . , xn ((n + 1) nœuds distincts
deux à deux). Interpoler la fonction f aux xi pour i = 0, . . . , n; signifie chercher un
polynôme pn de degré ≤ n tel que
pn (xi ) = f (xi ) pour tout i = 0, . . . , n.
La solution de ce problème est donc donnée par
n
X
pn (x) = f (xi )ℓi (x),
i=0
Qn x−xj
où ℓi (x) = j=0 xi −xj , et le polynôme pn est appelé interpolant de f de degré ≤ n
j̸=i
aux points x0 , x1 , . . . , xn .
16/43
En général :
Soit f : R → R une fonction continue, et soient x0 , x1 , . . . , xn ((n + 1) nœuds distincts
deux à deux). Interpoler la fonction f aux xi pour i = 0, . . . , n; signifie chercher un
polynôme pn de degré ≤ n tel que
pn (xi ) = f (xi ) pour tout i = 0, . . . , n.
La solution de ce problème est donc donnée par
n
X
pn (x) = f (xi )ℓi (x),
i=0
Qn x−xj
où ℓi (x) = j=0 xi −xj , et le polynôme pn est appelé interpolant de f de degré ≤ n
j̸=i
aux points x0 , x1 , . . . , xn .
Inconvénient : si l’on rajoute un point d’interpolation, il faut recalculer
- tous les polynômes ℓi . ⇒ La méthode d’interpolation de Lagrange n’est
pas récursive.
16/43
Exercice 1. Soit f : R → R la fonction définie par f (x) = e x . Cherchons l’interpolant
de f aux points : −1, 0 et 1.
...
17/43
Interpolation de Newton
L’interpolation de Newton est une méthode qui ne diffère de l’interpolation
lagrangienne que par la façon dont le polynôme est calculé, le polynôme
d’interpolation qui en résulte est le même.
Soit f : R → R une fonction continue et soient x0 , x1 , . . . , xn (n + 1) points distincts
deux à deux. Posons yi = f (xi ) pour i = 0, . . . , n.
L’interpolation de Newton est un procédé itératif. Ce procédé permet de construire le
polynôme d’interpolation sous la forme de Newton comme une combinaison linéaire
n
X
pn (x) = a0 N0 (x) + a1 N1 (x) + . . . + an Nn (x) = ai Ni (x)
i=0
= pn−1 (x) + an Nn (x)
de polynômes de base de Newton
i−1
Y
Ni (x) = (x − x0 )(x − x1 ) . . . (x − xi−1 ) = (x − xj )
j=0
pour i = 0, . . . , n. Avec
N0 (x) = 1, N1 (x) = (x − x0 ), N2 (x) = (x − x0 )(x − x1 ), ...
... Nn (x) = (x − x0 )(x − x1 ) · · · (x − xn−1 ). 18/43
Pour calculer les coefficients ai , i = 0, . . . , n, on doit donc s’assurer que
pn (xi ) = f (xi ), pour i = 0, . . . , n.
- Le polynôme d’interpolation dans la base de Newton évalué en x0 donne
n
X
pn (x0 ) = ai Ni (x0 ) = a0 N0 (x0 ) + a1 N1 (x0 ) + . . . + an Nn (x0 ) = a0 = f (x0 ).
i=0
| {z } | {z } | {z }
=a0 =0 =0
Le premier coefficient est donc a0 = f (x0 ).
- On doit ensuite s’assurer que pn (x1 ) = f (x1 ), c’est-à-dire
f (x1 ) − a0
a0 + a1 (x1 − x0 ) = f (x1 ), ⇒ a1 = ,
x1 − x0
ce qui permet d’isoler a1 pour obtenir
f (x1 ) − f (x0 )
a1 = .
x1 − x0
19/43
- Le troisième coefficient a2 est à son tour déterminé par
pn (x2 ) = a0 + a1 (x2 − x0 ) + a2 (x2 − x0 )(x2 − x1 ) = f (x2 ).
En isolant a2 , on obtient
f (x2 ) − a0 − a1 (x2 − x0 )
a2 = .
(x2 − x0 )(x2 − x1 )
Simplifiant cette expression, on trouve
f (x1 )−f (x0 )
f (x2 ) − f (x0 ) − x1 −x0
(x2 − x0 )
a2 =
(x2 − x0 )(x2 − x1 )
!
1 f (x2 ) − f (x1 ) f (x1 ) − f (x0 ) f (x1 ) − f (x0 ) x2 − x0
= + −
x2 − x0 x2 − x1 x2 − x1 x1 − x0 x2 − x1
f (x2 )−f (x1 ) f (x1 )−f (x0 )
x2 −x1
− x1 −x0
= .
x2 − x0
Ce qui permet d’obtenir a2
f (x2 )−f (x1 ) f (x1 )−f (x0 )
x2 −x1
− x1 −x0
a2 = .
x2 − x0
⇒ Chaque ai dépend du coefficient précédent, les ai sont liés entre eux. On va voir
comment les calculer de façon efficace (et automatique).
20/43
On va introduire la notion de différences divisées. . .
Définition (Premières différences divisées)
On appellera première différence divisée, notée f [xi , xi+1 ] le rapport
yi+1 − yi f (xi+1 ) − f (xi )
f [xi , xi+1 ] = = .
xi+1 − xi xi+1 − xi
On souhaite exprimer tous les coefficients ai en fonction de différences divisées. . .
Regardons comment s’écrit p1 :
f (x1 )−f (x0 )
On a a1 = x1 −x0
= f [x0 , x1 ], ainsi le polynôme p1 s’écrit
p1 (x) = a0 + a1 (x − x0 ) = f (x0 ) + f [x0 , x1 ](x − x0 )
Avec
f (x1 ) − f (x0 )X
p1 (x0 ) = f (x0 ) et p1 (x1 ) = f (x0 ) + −X
(x1X xX
0 ) = f (x1 )
x1 X
X −Xx0
⇒ p1 est l’unique polynôme d’interpolation de degré 1 passant par les points
(x0 , f (x0 )) et (x1 , f (x1 )).
21/43
Regardons ce qu’il se passe pour p2 :
p2 (x) = a0 N0 (x) + a1 N1 (x) + a2 N2 (x)
= a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 )
= f (x0 ) + f [x0 , x1 ](x − x0 ) + a2 (x − x0 )(x − x1 )
= p1 (x) + a2 (x − x0 )(x − x1 ).
On a vu que
f (x2 )−f (x1 ) f (x1 )−f (x0 )
x2 −x1
− x1 −x0
a2 =
x2 − x0
que l’on peut également écrire
f [x1 , x2 ] − f [x0 , x1 ]
a2 = .
x2 − x0
⇒ Cette dernière forme nous amène à définir les différences divisées d’ordres
successifs.
22/43
Définition (Différences divisées)
On définit les différences divisées d’ordres successifs 0, 1, 2, . . ., n de la
fonction f aux points xi , i = 0, . . . , n par les relations de récurrence suivantes
:
Ordre 0: f [xi ] = f (xi ).
f (xi+1 )−f (xi )
Ordre 1: f [xi , xi+1 ] = xi+1 −xi
.
f [xi+1 ,xi+2 ]−f [xi ,xi+1 ]
Ordre 2: f [xi , xi+1 , xi+2 ] = xi+2 −xi
.
...
f [xi+1 ,...,xi+k ]−f [xi ,...,xi+k−1 ]
Ordre k: f [xi , xi+1 , . . . , xi+k ] = xi+k −xi
, 2 ≤ k ≤ n.
Avec cette notation, on a a2 = f [x0 , x1 , x2 ] (voir le cas d’ordre 2) et donc
p2 (x) = f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
Encore une fois, on a p2 (x0 ) = f (x0 ), p2 (x1 ) = f (x1 ), et p2 (x2 ) = f (x2 ).
⇒ Ce qui montre que p2 est l’unique polynôme d’interpolation de degré 2 passant par
les points (x0 , f (x0 )), (x1 , f (x1 )) et (x2 , f (x2 )).
23/43
Remarque(s)
Le polynôme p2 s’écrit sous la forme suivante
p2 (x) = f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
= p1 (x) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
p2 s’obtient par l’ajout d’un terme de degré 2 à p1 .
Cela veut dire que si l’on a déjà calculé p1 et que l’on ajoute un point
d’interpolation (passant de 2 points à 3), on peut facilement obtenir p2 .
On aurait envie de dire
p3 (x) = f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
+ f [x0 , x1 , x2 , x3 ](x − x0 )(x − x1 )(x − x2 )
= p2 (x) + f [x0 , x1 , x2 , x3 ](x − x0 )(x − x1 )(x − x2 )
Et l’on peut ! Ce que venons de voir pour p1 , p2 et p3 se généralise aux polynômes de
degré n. . .
24/43
. . . le théorème ci-dessous formalise ce que nous venons de voir
Théorème (Interpolation de Newton)
Le polynôme d’interpolation sous la forme de Newton passant par les points
(xi , f (xi )), i = 0, . . . , n, peut s’écrire
pn (x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
+ . . . + f [x0 , x1 , . . . , xn ](x − x0 )(x − x1 ) . . . (x − xn−1 );
ou bien
n
X i−1
Y
pn (x) = f [x0 , x1 , . . . , xi ] (x − xj );
i=0 j=0
ou encore sous la forme récursive :
p0 (x) = f (x0 )
n−1
Y
pn (x) = pn−1 (x) + f [x0 , x1 , . . . , xn ]
(x − xj ), pour n ≥ 1.
j=0
Le calcul des différences divisées f [x0 , x1 , x2 , . . . , xi ] peut être pénible si l’on s’y
prend mal. On va voir une façon astucieuse et efficace de les calculer.
25/43
On construit une table des différences divisées. Calcul colonne par colonne. Exemple
avec 4 points d’interpolation :
xi f (xi ) f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]
x0 f (x0 )
x1 f (x1 ) f [x0 , x1 ]
x2 f (x2 ) f [x1 , x2 ] f [x0 , x1 , x2 ]
x3 f (x3 ) f [x2 , x3 ] f [x1 , x2 , x3 ] f [x0 , x1 , x2 , x3 ]
✔ Il n’est pas nécessaire de placer les points d’interpolation par abscisse croissante.
□
✔ La diagonale de la table correspond aux coefficients ai du polynôme
□
d’interpolation de Newton.
p3 (x) = f (x0 ) + f [x0 , x1 ] (x − x0 ) + f [x0 , x1 , x2 ] (x − x0 )(x − x1 )
+ f [x0 , x1 , x2 , x3 ] (x − x0 )(x − x1 )(x − x2 )
= f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
+ f [x0 , x1 , x2 , x3 ](x − x0 )(x − x1 )(x − x2 )
26/43
L’ordre des points n’a pas d’importance, par unicité du polynôme on doit obtenir le
même résultat à la fin.
xi f (xi ) f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]
x0 f (x0 )
x1 f (x1 ) f [x0 , x1 ]
x2 f (x2 ) f [x1 , x2 ] f [x0 , x1 , x2 ]
x3 f (x3 ) f [x2 , x3 ] f [x1 , x2 , x3 ] f [x0 , x1 , x2 , x3 ]
p3 (x) = f (x3 ) + f [x2 , x3 ] (x − x3 ) + f [x1 , x2 , x3 ] (x − x3 )(x − x2 )
+ f [x0 , x1 , x2 , x3 ] (x − x3 )(x − x2 )(x − x1 )
= f (x3 ) + f [x2 , x3 ](x − x3 ) + f [x1 , x2 , x3 ](x − x3 )(x − x2 )
+ f [x0 , x1 , x2 , x3 ](x − x3 )(x − x2 )(x − x1 )
= f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
+ f [x0 , x1 , x2 , x3 ](x − x0 )(x − x1 )(x − x2 )
27/43
Exemple 4. Déterminons p3 le polynôme d’interpolation de la fonction f qui passe par
les points (−1, −2), (0, −1), (1, 0) et (2, 3). La table de DD pour ces points est
xi f (xi ) f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]
−1
0
1
2
...
■ Si l’on souhaite ajouter un point d’interpolation et calculer un polynôme de
degré 4, il n’est pas nécessaire de recommencer les calculs.
28/43
■ Par exemple, si l’on veut inclure le point (3, 2), on peut compléter la table de
DD déjà utilisée.
...
29/43
Quelques observations/conclusions :
✔ Si l’on utilise tous les points d’interpolation, on a unicité du polynôme (mais les
□
polynômes intermédiaires ne seront pas forcément les mêmes).
✔ Si l’on ajoute un point d’interpolation (augmentant de 1 le degré du polynôme
□
d’interpolation), on ne recommence pas tout. Il suffit de rajouter une ligne
dans notre table des différences divisées, et de rajouter un terme de degré
(n + 1) à notre polynôme de degré n déjà calculé.
✔ Par unicité du polynôme passant par les (n + 1) points d’interpolation, que vous
□
utilisiez les polynômes de Lagrange ou les polynômes de Newton, vous devez
obtenir le même résultat final !
Comment évaluer l’erreur commise en approximant une fonction f par son interpolant
pn ?
→ Étude de l’erreur d’interpolation
30/43
Erreur d’interpolation
L’interpolation polynomiale permet d’approximer une fonction donnée f : [a, b] → R
par un polynôme pn qui interpole les valeurs de f aux points x0 , x1 , . . . , xn ∈ [a, b].
Cette approximation entraı̂ne une erreur d’interpolation en tout point x ̸= xi ,
i = 0, 1, . . . , n,
En (x) = f (x) − pn (x).
■ Puisque pn (xi ) = yi = f (xi ), il est clair que l’erreur d’interpolation est nulle aux
points d’interpolation (En (xi ) = 0) !
■ On cherche à évaluer l’erreur pour x quelconquedans l’intervalle [a, b].
■ Dans la suite, on suppose que x0 < x1 < · · · < xn et [a, b] = [x0 , xn ].
■ Soit x ∗ tel que x ∗ ̸= xi , i = 0, · · · , n et x ∗ ∈ [x0 , xn ].
■ Considérons l’interpolation de Newton et ajoutons le point (x ∗ , f (x ∗ )) à notre
table de différences divisées. Par définition de l’interpolation on a
f (x ∗ ) = pn+1 (x ∗ ) = pn (x ∗ ) + f [x0 , x1 , · · · , xn , x ∗ ](x − x0 ) · · · (x − xn ).
31/43
■ Cela nous donne
En (x ∗ ) = f (x ∗ ) − pn (x ∗ ) = f [x0 , x1 , · · · , xn , x ∗ ](x − x0 ) · · · (x − xn ).
■ Si je sais évaluer f [x0 , x1 , · · · , xn , x ∗ ] alors je connais l’erreur d’interpolation.
Problème : on ne connaı̂t pas f (x ∗ ) ! donc, on ne peut pas calculer la
ò différence divisée.
Solution : il est possible de montrer que pour x ∗ ∈ [x0 , xn ] (et en sup-
posant f suffisamment régulière)
f (n+1)(ξx ∗ )
f [x0 , x1 , · · · , xn , x ∗ ] = , pour ξx ∗ ∈ [x0 , xn ].
(n + 1)!
⇒ On caractérise donc l’erreur en fonction de la dérivée de la fonction f .
32/43
Théorème (Erreur d’interpolation)
Soient x0 < x1 < · · · < xn les abscisses des points d’interpolation. Si f est
(n + 1) fois dérivable sur [x0 , xn ], alors ∀x ∈ [x0 , xn ], ∃ξx ∈ [x0 , xn ] tel que
f (n+1)(ξx )
En (x) = f (x) − pn (x) = (x − x0 ) · · · (x − xn ).
(n + 1)!
De plus, si f (n+1) est continue sur [x0 , xn ], alors
Mn+1
|En (x)| ≤ |(x−x0 )(x−x1 ) . . . (x−xn )|, où Mn+1 = max |f (n+1) (x)|.
(n + 1)! x∈[x0 ,xn ]
Remarque(s)
✔ Par unicité, l’erreur d’interpolation est la même que vous utilisiez les
□
polynômes de Newton ou Lagrange (ou même Vandermonde).
✔ L’erreur d’interpolation est nulle aux points de collocation, c’est-à-dire
□
E (xi ) = 0 pour i = 0, 1, . . . , n.
1 Qn
i=0 (x − xi )
✔ L’erreur est composée de deux termes : le terme
□ (n+1)!
qui dépend du choix des points xi et le terme maxx∈[a,b] |f (n+1) (x)|
lié à la régularité de f . 33/43
■ Si on ne connaı̂t pas la fonction f , la majoration est impossible. Dans ce cas, si
on connait un point d’interpolation (xn+1 , f (xn+1 )) supplémentaire, on fait
l’approximation suivante
f (n+1)(ξx )
f [x0 , x1 , · · · , xn , xn+1 ] ≈ ,
(n + 1)!
et alors
En (x) ≈ f [x0 , x1 , · · · , xn , xn+1 ](x − x0 ) · · · (x − xn ).
⇒ En (x) ≈ pn+1 (x) − pn (x).
+ : facile à calculer,
− : pas toujours d’une grande précision . . .
■ Si l’on peut choisir les points d’interpolation xi , on a tout intérêt à les prendre
proche de l’abscisse x où l’on souhaite interpoler notre fonction.
34/43
1 1 3
Exemple 5. Soit f (x) = e x à interpoler aux points 0, , ,
4 2 4
et 1. Calculons l’erreur
d’approximation en x = 13 .
35/43
De manière général, le terme d’erreur En est un polynôme de degré (n + 1), pouvant
fortement osciller.
→ Phénomène de Runge : pour certaines fonctions, l’erreur augmente quand le
nombre de points d’interpolation augmente.
Pour illustrer le phénomène, considérons la fonction suivante
1
f (x) =
1 + x2
et regardons le comportement de son polynôme d’interpolation pn , pour
différentes valeurs de n.
36/43
Phénomène de Runge, n = 11 (12 points d’interpolation).
37/43
Phénomène de Runge, n = 19 (20 points d’interpolation).
→ L’erreur augmente avec le nombre de points !
38/43
ò 99K Conclusion : L’interpolation de Lagrange/Newton n’est pas
adaptée à toutes les fonctions f .
99K Il est parfois peu prudent d’utiliser un grand nombre de point si l’on
ne connaı̂t pas le comportement de la fonction.
Solution partielle : mieux positionner les abscisses des points
d’interpolation, de sorte à minimiser l’expression
|(x − x0 )(x − x1 ) · · · (x − xn )|
apparaissant dans le terme d’erreur En . Comment ?
→ Abscisses de Tchebychev
a+b b−a iπ
xi = − cos , i = 0, . . . , n.
2 2 n
L’intervalle [a, b] étant l’intervalle sur lequel on cherche à interpoler
la fonction. 39/43
Phénomène de Runge, n = 11 (12 points d’interp.), abscisses de
Tchebychev.
→ Toujours quelques oscillations présentent . . .
40/43
. . . que l’on parvient a atténuer en augmentant le nombre de points d’interpolation.
Phénomène de Runge, n = 19 (20 points d’interp.), abscisses de Tchebychev.
41/43
Interpolation linéaire par morceaux
Autre solution : interpolation linéaire par morceaux - on construit un polynôme
d’interpolation de degré 1 sur chaque sous-intervalle [xi , xi+1 ],
Interpolation linéaire par morceaux, 8 points d’interpolation 42/43
Avantage de l’interpolation linéaire par morceaux :
✔ Évite l’utilisation de polynômes de degrés élevés (et donc le phénomène de
□
Runge, même avec des abscisses équi-distantes). Au lieu d’avoir une erreur
d’interpolation portant sur (n + 1) points, on a une erreur d’interpolation sur
chaque sous-intervalle [xi , xi+1 ].
Inconvénient majeur :
✘ Le polynôme d’interpolation est continu mais n’est pas dérivable aux abscisses
□
d’interpolation xi .
On va garder l’idée d’interpolation par morceaux, mais en utilisant sur chaque
sous-intervalle un polynôme d’un degré nous garantissant un polynôme d’interpolation
suffisamment lisse.
99K Polynôme de degré 2 → on peut imposer la continuité des dérivées premières
aux xi .
99K Polynôme de degré 3 → on peut imposer la continuité des dérivées premières et
secondes aux xi .
43/43