0% ont trouvé ce document utile (0 vote)
31 vues21 pages

Interpolation et Polynômes

Interpolation numérique

Transféré par

gloirewaivawazanga5
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
31 vues21 pages

Interpolation et Polynômes

Interpolation numérique

Transféré par

gloirewaivawazanga5
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 5

Interpolation

5.1 Introduction
Ce chapitre ainsi que le chapitre suivant qui porte sur la dérivation et l’in-
tégration numériques sont très étroitement reliés puisqu’ils tendent à répondre
à diverses facettes d’un même problème. Ce problème est le suivant : à partir
d’une fonction f (x) connue seulement en (n + 1) points de la forme ((xi , f (xi ))
pour i = 0, 1, 2, · · · , n), peut-on construire une approximation de f (x), et ce,
pour tout x ? Les xi sont appelés abscisses ou nœuds d’interpolation tandis
que les couples ((xi , f (xi )) pour i = 0, 1, 2, · · · , n) sont les points de colloca-
tion ou points d’interpolation et peuvent provenir de données expérimentales
ou d’une table. En d’autres termes, si l’on ne connaît que les points de collo-
cation (xi , f (xi )) d’une fonction, peut-on obtenir une approximation de f (x)
pour une valeur de x différente des xi ? La figure 5.1 résume la situation.
Sur la base des mêmes hypothèses, nous verrons, au chapitre suivant, com-
ment évaluer les dérivées f ′ (x), f ′′ (x) · · · de même que :
! xn
f (x)dx
x0

Il s’agit d’un problème d’interpolation, dont la solution est relativement simple.


Il suffit de construire un polynôme de degré suffisamment élevé dont la courbe
passe par les points de collocation. On parle alors du polynôme de collocation
ou polynôme d’interpolation. Pour obtenir une approximation des dérivées ou
de l’intégrale, il suffit de dériver ou d’intégrer le polynôme de collocation. Il
y a cependant des éléments fondamentaux qu’il est important d’étudier. En
premier lieu, il convient de rappeler certains résultats cruciaux relatifs aux
polynômes, que nous ne démontrons pas.

Théorème 5.1
Un polynôme de degré n dont la forme générale est :
pn (x) = a0 + a1 x + a2 x2 + a3 x3 + · · · + an xn (5.1)
avec an ̸= 0 possède, tenant compte des multiplicités, très exactement n racines
qui peuvent être réelles ou complexes conjuguées. Rappelons que r est une
racine de pn (x) si pn (r) = 0. ⋆
208 Chapitre 5

x0 x1 x x 2 x3 xn−1 xn

Figure 5.1 – Problème d’interpolation

Corollaire 5.2
Par (n + 1) points de collocation d’abscisses distinctes ((xi , f (xi )) pour i =
0, 1, 2, · · · , n), on ne peut faire correspondre qu’un et un seul polynôme de
degré n.
Démonstration :
On procède par l’absurde et l’on suppose l’existence de 2 polynômes de degré
n, notés p(x) et q(x), et qui passent tous les deux par les (n + 1) points de
collocation donnés. On considère ensuite la différence P (x) = p(x) − q(x) qui
est également un polynôme de degré au plus n. Ce polynôme vérifie :

P (xi ) = p(xi ) − q(xi ) = f (xi ) − f (xi ) = 0

et ce, pour i allant de 0 à n. Le polynôme P (x) posséderait donc (n+1) racines,


ce qui est impossible en vertu du théorème précédent. ♠

Définition 5.3
L’unique polynôme de degré n passant par les points (xi , f (xi )) pour
i = 0, 1, 2, · · · , n, est appelé l’interpolant de f (x) de degré n aux abscisses
(nœuds) x0 , x1 , · · · , xn .

Remarque 5.4
Rien n’oblige à ce que le coefficient an de l’interpolant soit différent de 0. L’in-
terpolant passant par les n + 1 points d’interpolation peut donc être de degré
inférieur à n. Si on choisit par exemple 10 points sur une droite, l’interpolant
sera quand même de degré 1. "
Interpolation 209

Il reste à assurer l’existence de l’interpolant, ce que nous ferons tout sim-


plement en le construisant au moyen de méthodes diverses qui feront l’objet
des prochaines sections.

5.2 Matrice de Vandermonde


Le problème d’interpolation consiste donc à déterminer l’unique polynôme
de degré n passant par les (n + 1) points de collocation ((xi , f (xi )) pour i =
0, 1, 2, 3, · · · , n). Selon le théorème précédent, il ne saurait y en avoir deux.
Il reste maintenant à le construire de la manière la plus efficace et la plus
générale possible. Une première tentative consiste à déterminer les inconnues
ai du polynôme 5.1 en vérifiant directement les (n+1) équations de collocation :
pn (xi ) = f (xi ) pour i = 0, 1, 2, · · · , n
ou encore :
a0 + a1 xi + a2 x2i + a3 x3i + · · · + an xni = f (xi )
qui est un système linéaire de (n+1) équations en (n+1) inconnues. Ce système
s’écrit sous forme matricielle :
⎡ ⎤⎡ ⎤ ⎡ ⎤
1 x0 x20 x30 · · · xn0 a0 f (x0 )
⎢ 1 x1 x21 x31 · · · xn1 ⎥ ⎢ a1 ⎥ ⎢ f (x1 ) ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ 1 x2 x22 x32 · · · xn2 ⎥ ⎢ a2 ⎥ = ⎢ f (x2 ) ⎥ (5.2)
⎢ . . .. .. . . .. ⎥ ⎢ . ⎥ ⎢ .. ⎥
⎣ .. .. . . . . ⎦ ⎣ .
. ⎦ ⎣ . ⎦
2 3
1 x n xn xn · · · x n n an f (xn )

Remarque 5.5
La matrice de ce système linéaire porte le nom de matrice de Vandermonde.
On peut montrer que le conditionnement de cette matrice augmente fortement
avec la taille (n + 1) du système. De plus, comme le révèlent les sections qui
suivent, il n’est pas nécessaire de résoudre un système linéaire pour calculer un
polynôme d’interpolation. Cette méthode est donc rarement utilisée. "

Exemple 5.6
On doit calculer le polynôme passant par les points (0 , 1), (1 , 2), (2 , 9) et
(3 , 28). Étant donné ces 4 points, le polynôme recherché est tout au plus de
degré 3. Ses coefficients ai sont solution de :
⎡ ⎤⎡ ⎤ ⎡ ⎤
1 0 0 0 a0 1
⎢ 1 1 1 1 ⎥ ⎢ a1 ⎥ ⎢ 2 ⎥
⎣ 1 2 4 8 ⎦⎣ a ⎦ = ⎣ 9 ⎦
2
1 3 9 27 a3 28
dont la solution (obtenue par décomposition LU ) est [1 0 0 1]T . Le polynôme
recherché est donc p3 (x) = 1 + x3 . #

Les sections suivantes proposent des avenues différentes et plus efficaces


pour calculer le polynôme de collocation.
210 Chapitre 5

5.3 Interpolation de Lagrange


L’interpolation de Lagrange est une façon simple et systématique de construire
un polynôme de collocation. Étant donné (n + 1) points ((xi , f (xi )) pour
i = 0, 1, 2, · · · , n), on suppose un instant que l’on sait construire (n + 1) poly-
nômes Li (x) de degré n et satisfaisant les conditions suivantes :
(
Li (xi ) = 1 ∀i
(5.3)
Li (xj ) = 0 ∀j ̸= i

Cela signifie que le polynôme Li (x) de degré n prend la valeur 1 en xi et s’annule


à tous les autres points de collocation. Nous verrons comment construire les
Li (x) un peu plus loin. Dans ces conditions, la fonction L(x) définie par :
n
)
L(x) = f (xi )Li (x)
i=0

est un polynôme de degré n, car chacun des Li (x) est de degré n. De plus, ce
polynôme passe par les (n + 1) points de collocation et est donc le polynôme
recherché. En effet, il est facile de montrer que selon les conditions 5.3 :
n
)
L(xj ) = f (xj )Lj (xj ) + f (xi )Li (xj )
i=0,i̸=j

= f (xj ) + 0 = f (xj ) ∀j

Le polynôme L(x) passe donc par tous les points de collocation. Puisque ce
polynôme est unique, L(x) est bien le polynôme recherché. Il reste à construire
les fonctions Li (x). Suivons une démarche progressive.
Polynômes de degré 1
Il s’agit de déterminer le polynôme de degré 1 dont la courbe (une droite)
passe par les deux points (x0 , f (x0 )) et (x1 , f (x1 )). On doit donc construire
deux polynômes L0 (x) et L1 (x) de degré 1 qui vérifient :
( (
L0 (x0 ) = 1 L1 (x0 ) = 0
L0 (x1 ) = 0 L1 (x1 ) = 1

Le polynôme L0 (x) doit s’annuler en x = x1 . On pense immédiatement au


polynôme (x − x1 ) qui s’annule en x = x1 , mais qui vaut (x0 − x1 ) en x =
x0 . Pour s’assurer d’une valeur 1 en x = x0 , il suffit d’effectuer la division
appropriée afin d’obtenir :

(x − x1 )
L0 (x) =
(x0 − x1 )

Un raisonnement similaire pour L1 (x) donne :

(x − x0 )
L1 (x) =
(x1 − x0 )
Interpolation 211

L0 (x)
L1 (x)

x0 x1

Figure 5.2 – Polynômes de Lagrange de degré 1 : L0 (x) et L1 (x)

Ces deux fonctions sont illustrées à la figure 5.2. Le polynôme de degré 1 est
donc :
p1 (x) = f (x0 )L0 (x) + f (x1 )L1 (x)

Exemple 5.7
L’équation de la droite passant par les points (2 , 3) et (5 , − 6) est :
(x − 5) (x − 2)
3 + (−6) = −(x − 5) − 2(x − 2) = −3x + 9
(2 − 5) (5 − 2)
#

Polynômes de degré 2
Si l’on cherche le polynôme de degré 2 passant par les points (x0 , f (x0 )),
(x1 , f (x1 )) et (x2 , f (x2 )), on doit construire trois fonctions Li (x). Le raisonne-
ment est toujours le même. La fonction L0 (x) s’annule cette fois en x = x1 et
en x = x2 . On doit forcément avoir un coefficient de la forme :
(x − x1 )(x − x2 )
qui vaut (x0 − x1 )(x0 − x2 ) en x = x0 . Pour satisfaire la condition L0 (x0 ) = 1,
il suffit alors de diviser le coefficient par cette valeur et de poser :
(x − x1 )(x − x2 )
L0 (x) =
(x0 − x1 )(x0 − x2 )
Cette fonction vaut bien 1 en x0 et 0 en x1 et x2 . De la même manière, on
obtient les fonctions L1 (x) et L2 (x) définies par :
(x − x0 )(x − x2 ) (x − x0 )(x − x1 )
L1 (x) = et L2 (x) =
(x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
212 Chapitre 5

L0 (x) L1 (x)
L2 (x)

x0 x1 x2

Figure 5.3 – Polynômes de Lagrange de degré 2 : L0 (x), L1 (x) et L2 (x)

Ces trois fonctions sont à leur tour illustrées à la figure 5.3.

Exemple 5.8
La parabole passant par les points (1 , 2), (3 , 7), (4 , − 1) est donnée par :
(x − 3)(x − 4) (x − 1)(x − 4) (x − 1)(x − 3)
p2 (x) = 2 +7 + (−1)
(1 − 3)(1 − 4) (3 − 1)(3 − 4) (4 − 1)(4 − 3)

(x − 3)(x − 4) 7(x − 1)(x − 4) (x − 1)(x − 3)


= − −
3 2 3
#

Polynômes de degré n
On analyse le cas général de la même façon. La fonction L0 (x) doit s’annuler
en x = x1 , x2 , x3 , · · · , xn . Il faut donc introduire la fonction :
(x − x1 )(x − x2 )(x − x3 ) · · · (x − xn )
qui vaut :
(x0 − x1 )(x0 − x2 )(x0 − x3 ) · · · (x0 − xn )
en x = x0 . On a alors, après division :
(x − x1 )(x − x2 )(x − x3 ) · · · (x − xn )
L0 (x) =
(x0 − x1 )(x0 − x2 )(x0 − x3 ) · · · (x0 − xn )
On remarque qu’il y a n facteurs de la forme (x − xi ) dans cette expression et
qu’il s’agit bien d’un polynôme de degré n. Pour la fonction L1 (x), on pose :
(x − x0 )(x − x2 )(x − x3 ) · · · (x − xn )
L1 (x) =
(x1 − x0 )(x1 − x2 )(x1 − x3 ) · · · (x1 − xn )
Interpolation 213

On note l’absence du terme (x − x1 ). L’expression générale pour la fonction


Li (x) est donc :
(x − x0 ) · · · (x − xi−1 )(x − xi+1 ) · · · (x − xn )
Li (x) = (5.4)
(xi − x0 ) · · · (xi − xi−1 )(xi − xi+1 ) · · · (xi − xn )
où cette fois seul le facteur (x − xi ) est absent. Li (x) est donc un polynôme
de degré n qui vaut 1 en x = xi et qui s’annule à tous les autres points de
collocation. On peut maintenant résumer la situation.

Théorème 5.9
Étant donné (n + 1) points d’interpolation ((xi , f (xi )) pour i = 0, 1, · · · , n),
l’unique polynôme d’interpolation de degré n passant par tous ces points peut
s’écrire :
)n
pn (x) = f (xi )Li (x) (5.5)
i=0
où les (n + 1) fonctions Li (x) sont définies par la relation 5.4. C’est la formule
de Lagrange. ⋆

Exemple 5.10
Reprenons les points (0 , 1), (1 , 2), (2 , 9) et (3 , 28), pour lesquels nous avons
obtenu le polynôme p3 (x) = x3 + 1 à l’aide de la matrice de Vandermonde.
L’interpolation de Lagrange donne dans ce cas :
(x − 1)(x − 2)(x − 3) (x − 0)(x − 2)(x − 3)
p3 (x) = 1 +2
(0 − 1)(0 − 2)(0 − 3) (1 − 0)(1 − 2)(1 − 3)

(x − 0)(x − 1)(x − 3) (x − 0)(x − 1)(x − 2)


+9 + 28
(2 − 0)(2 − 1)(2 − 3) (3 − 0)(3 − 1)(3 − 2)

c’est-à-dire :
(x − 1)(x − 2)(x − 3)
p3 (x) = − + x(x − 2)(x − 3)
6
x(x − 1)(x − 3) x(x − 1)(x − 2)
−9 + 14
2 3
qui est l’expression du polynôme de degré 3 passant par les 4 points donnés.
Cette expression n’est autre que p3 (x) = x3 + 1. Il n’y a qu’à en faire le déve-
loppement pour s’en assurer. Cela n’est pas surprenant, puisque l’on sait qu’il
n’existe qu’un seul polynôme de degré 3 passant par 4 points donnés. L’inter-
polation de Lagrange ne fait qu’exprimer le même polynôme différemment.
Enfin, le polynôme calculé permet d’obtenir une approximation de la fonc-
tion inconnue f (x) partout dans l’intervalle contenant les points de collocation,
c’est-à-dire [0 , 3]. Ainsi, on a :
f (2,5) ≃ p3 (2,5) = 16,625
avec une précision qui sera discutée plus loin lorsque nous aborderons la ques-
tion de l’erreur d’interpolation.#
214 Chapitre 5

Remarque 5.11
La méthode d’interpolation de Lagrange présente un inconvénient majeur : elle
n’est pas récursive. En effet, si l’on souhaite passer d’un polynôme de degré
n à un polynôme de degré (n + 1) (en ajoutant un point de collocation), on
doit reprendre pratiquement tout le processus à zéro. Dans l’exemple précé-
dent, si l’on souhaite obtenir le polynôme de degré 4 correspondant aux points
(0 , 1), (1 , 2), (2 , 9), (3 , 28) et (5 , 54), on ne peut que difficilement récupérer
le polynôme de degré 3 déjà calculé et le modifier pour obtenir p4 (x). C’est en
revanche ce que permet la méthode d’interpolation de Newton. "

5.4 Polynôme de Newton


Lorsqu’on écrit l’expression générale d’un polynôme, on pense immédiate-
ment à la forme 5.1, qui est la plus utilisée. Il en existe cependant d’autres qui
sont plus appropriées au cas de l’interpolation, par exemple :
pn (x) = a0
+ a1 (x − x0 )
+ a2 (x − x0 )(x − x1 )
+ a3 (x − x0 )(x − x1 )(x − x2 ) (5.6)
..
.
+ an−1 (x − x0 )(x − x1 )(x − x2 ) · · · (x − xn−2 )
+ an (x − x0 )(x − x1 )(x − x2 ) · · · (x − xn−1 )
On remarque que le coefficient de an comporte n monômes de la forme (x − xi )
et qu’en conséquence le polynôme 5.6 est de degré n.
L’aspect intéressant de cette formule apparaît lorsqu’on essaie de détermi-
ner les (n+1) coefficients ai de telle sorte que pn (x) passe par les (n+1) points
de collocation (xi , f (xi )) pour i = 0, 1, 2, · · · , n). On doit donc s’assurer que :
pn (xi ) = f (xi ) pour i = 0, 1, 2, · · · , n
Les coefficients de la forme 5.6 s’annulent tous en x = x0 , sauf le premier. On
peut ainsi montrer que :
pn (x0 ) = a0 = f (x0 )
Le premier coefficient est donc :
a0 = f (x0 ) (5.7)
On doit ensuite s’assurer que pn (x1 ) = f (x1 ), c’est-à-dire :
pn (x1 ) = a0 + a1 (x1 − x0 ) = f (x0 ) + a1 (x1 − x0 ) = f (x1 )
ce qui permet d’isoler a1 pour obtenir :
f (x1 ) − f (x0 )
a1 =
x1 − x 0
Interpolation 215

Définition 5.12
On définit les premières différences divisées de la fonction f (x) par :

f (xi+1 ) − f (xi )
f [xi , xi+1 ] = (5.8)
xi+1 − xi

Ainsi, le coefficient a1 peut s’écrire :


a1 = f [x0 , x1 ] (5.9)

Remarque 5.13
Il est facile de démontrer que le polynôme de degré 1 :
p1 (x) = f (x0 ) + f [x0 , x1 ](x − x0 )
obtenu en ne considérant que les deux premiers coefficients de 5.6 et les ex-
pressions 5.7 et 5.9, passe par les points (x0 , f (x0 )) et (x1 , f (x1 )). Il représente
donc l’unique polynôme de collocation de degré 1 passant par ces deux points.
"

Le troisième coefficient (a2 ) est à son tour déterminé par :


pn (x2 ) = a0 + a1 (x2 − x0 ) + a2 (x2 − x0 )(x2 − x1 ) = f (x2 )
ou encore :
pn (x2 ) = f (x0 ) + f [x0 , x1 ](x2 − x0 ) + a2 (x2 − x0 )(x2 − x1 ) = f (x2 )
En isolant a2 , on obtient :
1
a2 = (f (x2 ) − f (x0 ) − f [x0 , x1 ](x2 − x0 ))
(x2 − x0 )(x2 − x1 )
* +
1 f (x2 ) − f (x0 ) (x2 − x0 )
= − f [x0 , x1 ]
(x2 − x0 ) (x2 − x1 ) (x2 − x1 )
* +
1 f (x2 ) − f (x1 ) + f (x1 ) − f (x0 ) (x2 − x0 )
= − f [x0 , x1 ]
(x2 − x0 ) (x2 − x1 ) (x2 − x1 )
*
1 f (x2 ) − f (x1 ) (f (x1 ) − f (x0 )) (x1 − x0 )
= +
(x2 − x0 ) (x2 − x1 ) (x1 − x0 ) (x2 − x1 )
+
(x2 − x0 )
−f [x0 , x1 ]
(x2 − x1 )
* * ++
1 (x1 − x0 ) (x2 − x0 )
= f [x1 , x2 ] + f [x0 , x1 ] −
(x2 − x0 ) (x2 − x1 ) (x2 − x1 )

1
= (f [x1 , x2 ] − f [x0 , x1 ])
(x2 − x0 )
216 Chapitre 5

On en arrive donc à une expression qui fait intervenir une différence divisée de
différences divisées.

Définition 5.14
Les deuxièmes différences divisées de la fonction f (x) sont définies à partir
des premières différences divisées par la relation :

f [xi+1 , xi+2 ] − f [xi , xi+1 ]


f [xi , xi+1 , xi+2 ] = (5.10)
(xi+2 − xi )

De même, les n-ièmes différences divisées de la fonction f (x) sont définies à


partir des (n − 1)-ièmes différences divisées de la façon suivante :

f [x1 , x2 , · · · , xn ] − f [x0 , x1 , x2 , · · · , xn−1 ]


f [x0 , x1 , x2 , · · · , xn ] = (5.11)
(xn − x0 )

Notons que les toutes premières différences divisées de f (x) (soit les 0es dif-
férences) sont tout simplement définies par f (xi ).

Suivant cette notation, on a :


a2 = f [x0 , x1 , x2 ] (5.12)

Remarque 5.15
Il est facile de démontrer que le polynôme :
p2 (x) = f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
passe par les trois premiers points de collocation. On remarque de plus que ce
polynôme de degré 2 s’obtient simplement par l’ajout d’un terme de degré 2
au polynôme p1 (x) déjà calculé. En raison de cette propriété, cette méthode
est dite récursive. "

On peut soupçonner à ce stade-ci que le coefficient a3 est :


a3 = f [x0 , x1 , x2 , x3 ]
qui est une troisième différence divisée de f (x). C’est effectivement le cas. Le
théorème suivant résume la situation.

Théorème 5.16
L’unique polynôme de degré n passant par les (n + 1) points de collocation
((xi , f (xi )) pour i = 0, 1, 2, · · · , n) peut s’écrire selon la formule d’interpolation
de Newton 5.6 ou encore sous la forme récursive :
pn (x) = pn−1 (x) + an (x − x0 )(x − x1 ) · · · (x − xn−1 ) (5.13)
Les coefficients de ce polynôme sont les différences divisées :
ai = f [x0 , x1 , x2 , · · · , xi ] pour 0 ≤ i ≤ n (5.14)

Interpolation 217

Démonstration (facultative) :
On démontre le résultat par induction. On a déjà établi le résultat pour n = 1
et n = 2. On suppose que ce résultat est vrai pour les polynômes de degré
(n−1). Il s’agit de montrer qu’il est également vrai pour les polynômes de degré
n. Pour ce faire, on introduit les polynômes pn−1 (x) et qn−1 (x) de degré (n−1)
et passant respectivement par les points ((xi , f (xi )) pour i = 0, 1, 2, · · · , n − 1)
et ((xi , f (xi )) pour i = 1, 2, 3, · · · , n). On note immédiatement que ces deux
polynômes passent respectivement par les n premiers et les n derniers points
d’interpolation. Les coefficients ai étant définis par la relation 5.14, on pose
également :
bi = f [x1 , x2 , · · · , xi+1 ] pour 1 ≤ i ≤ n − 1
Les ai et les bi sont les différences divisées relatives aux n premiers et aux n
derniers points, respectivement. Suivant la définition des différences divisées,
on observe que :

f [x1 , x2 , · · · , xn ] − f [x0 , x1 , · · · , xn−1 ]


an = f [x0 , x1 , · · · , xn ] =
xn − x 0
c’est-à-dire :
bn−1 − an−1
an = (5.15)
xn − x 0
L’hypothèse d’induction permet d’affirmer que :

pn−1 (x) = pn−2 (x) + an−1 (x − x0 )(x − x1 ) · · · (x − xn−2 ) (5.16)

et que :

qn−1 (x) = qn−2 (x) + bn−1 (x − x1 )(x − x2 ) · · · (x − xn−1 ) (5.17)

La démonstration du théorème requiert de plus l’utilisation du lemme suivant.

Lemme 5.17
L’unique polynôme pn (x) passant par les points ((xi , f (xi )) pour
i = 0, 1, 2, · · · , n) s’écrit :

(x − x0 )
pn (x) = pn−1 (x) + (qn−1 (x) − pn−1 (x)) (5.18)
(xn − x0 )

Preuve du lemme :
Il suffit de s’assurer que ce polynôme (qui est bien de degré n) passe par
les points ((xi , f (xi )) pour i = 0, 1, 2, · · · , n). Le résultat suivra par unicité
du polynôme d’interpolation. Suivant la définition des polynômes pn−1 (x) et
qn−1 (x), on a :
pn (x0 ) = pn−1 (x0 ) = f (x0 )
et à l’autre extrémité :

pn (xn ) = pn−1 (xn ) + (qn−1 (xn ) − pn−1 (xn )) = qn−1 (xn ) = f (xn )
218 Chapitre 5

Aux points intermédiaires (1 ≤ i ≤ n − 1), on a :

(xi − x0 )
pn (xi ) = pn−1 (xi ) + (qn−1 (xi ) − pn−1 (xi ))
(xn − x0 )

(xi − x0 )
= f (xi ) + (f (xi ) − f (xi )) = f (xi )
(xn − x0 )

ce qui termine la démonstration du lemme. ♣

On a donc :

(x − x0 )
pn (x) − pn−1 (x) = (qn−1 (x) − pn−1 (x)) (5.19)
(xn − x0 )

et la démonstration du théorème vient ensuite assez facilement. Les coefficients


de la puissance xn−1 pour les polynômes pn−1 (x) et qn−1 (x) sont respective-
ment an−1 et bn−1 en vertu des équations 5.16 et 5.17. Selon l’équation 5.18,
le coefficient de la puissance xn de pn (x) est :

bn−1 − an−1
xn − x 0

qui est an en vertu de la relation 5.15. La formule 5.19 permet aussi de trouver
les racines de pn (x) − pn−1 (x), qui sont x0 , x1 , · · · , xn−1 . Ce polynôme s’écrit
donc :
pn (x) − pn−1 (x) = an (x − x0 )(x − x1 ) · · · (x − xn−1 )

ce qui termine la démonstration du théorème. ⋆

Remarque 5.18
Une fois les coefficients ai connus, on peut évaluer le polynôme de Newton au
moyen d’un algorithme similaire au schéma de Horner (voir la section 1.5.3).
On écrit alors le polynôme 5.6 sous la forme :

pn (x) = a0 + (x − x0 )(a1 + (x − x1 )(a2 + (x − x2 )(a3 + · · ·


(5.20)
+(x − xn−2 )(an−1 + an (x − xn−1 )) · · · )))

De cette façon, on réduit le nombre d’opérations nécessaires à l’évaluation


du polynôme. De plus, cette forme est moins sensible aux effets des erreurs
d’arrondis. "

Il reste maintenant à calculer efficacement la valeur de ce polynôme. La


manière la plus simple consiste à construire une table dite de différences divisées
de la façon suivante.
Interpolation 219
Table de différences divisées
xi f (xi ) f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]

x0 f (x0 )
f [x0 , x1 ]
x1 f (x1 ) f [x0 , x1 , x2 ]
f [x1 , x2 ] f [x0 , x1 , x2 , x3 ]
x2 f (x2 ) f [x1 , x2 , x3 ]
f [x2 , x3 ]
x3 f (x3 )

La construction de cette table est simple. Nous nous sommes arrêtés aux troi-
sièmes différences divisées, mais les autres s’obtiendraient de la même manière.
Les premières différences divisées découlent de la définition. Par la suite, pour
obtenir par exemple f [x0 , x1 , x2 ], il suffit de soustraire les 2 termes adjacents
f [x1 , x2 ] − f [x0 , x1 ] et de diviser le résultat par (x2 − x0 ). De même, pour
obtenir f [x0 , x1 , x2 , x3 ], on soustrait f [x0 , x1 , x2 ] de f [x1 , x2 , x3 ] et l’on divise
le résultat par (x3 − x0 ). La formule de Newton utilise la diagonale principale
de cette table.

Exemple 5.19
La table de différences divisées pour les points (0 , 1), (1 , 2), (2 , 9) et (3 , 28)
est :
Table de différences divisées
xi f (xi ) f [xi , xi+1 ] f [xi , · · · , xi+2 ] f [xi , · · · , xi+3 ]

0 1
1
1 2 3
7 1
2 9 6
19
3 28

Suivant la formule de Newton 5.6, avec x0 = 0, le polynôme de collocation est :

p3 (x) = 1 + 1(x − 0) + 3(x − 0)(x − 1) + 1(x − 0)(x − 1)(x − 2) = x3 + 1

qui est le même polynôme (en vertu de l’unicité) que celui obtenu par la mé-
thode de Lagrange. On remarque de plus que le polynôme :

p2 (x) = 1 + 1(x − 0) + 3(x − 0)(x − 1)

passe quant à lui par les trois premiers points de collocation. Si l’on souhaite
ajouter un point de collocation et calculer un polynôme de degré 4, il n’est
pas nécessaire de tout recommencer. Par exemple, si l’on veut inclure le point
(5 , 54), on peut compléter la table de différences divisées déjà utilisée.
220 Chapitre 5
Table de différences divisées
xi f (xi ) f [xi , xi+1 ] f [xi , · · · , xi+2 ] f [xi , · · · , xi+3 ] f [xi , · · · , xi+4 ]

0 1
1
1 2 3
7 1
2 9 6 − 35
19 −2
3 28 −2
13
5 54

Ce polynôme de degré 4 est alors p4 (x) = p3 (x) − 35 (x − 0)(x − 1)(x − 2)(x − 3)


qui est tout simplement le polynôme de degré 3 déjà calculé auquel on a ajouté
une correction de degré 4. #

Exemple 5.20
Il est bon de remarquer que les points de collocation ne doivent pas forcément
être placés par abscisses croissantes. Considérons par exemple la table suivante :
Table de différences divisées
xi f (xi ) f [xi , xi+1 ] f [xi , · · · , xi+2 ] f [xi , · · · , xi+3 ]

2 1
1
0 −1 0,4
2,2 1,2
5 10 1,6
7
3 −4

On note que les abscisses xi ne sont pas par ordre croissant. Le polynôme
passant par ces points est :
p3 (x) = 1 + 1(x − 2) + 0,4(x − 2)(x − 0) + 1,2(x − 2)(x − 0)(x − 5)
que l’on obtient de la relation 5.6 en prenant x0 = 2. Si l’on souhaite évaluer
ce polynôme en x = 1, on peut se servir de la méthode de Horner. On réécrit
alors le polynôme sous la forme :
p3 (x) = 1 + (x − 2)(1 + (x − 0)(0,4 + 1,2(x − 5)))
La fonction inconnue f (x) peut alors être estimée par ce polynôme. Ainsi :
f (1) ≃ p3 (1) = 1 + (−1)(1 + (1)(0,4 + 1,2(−4)))
= 1 + (−1)(1 − 4,4) = 4,4
Pour l’instant, nous n’avons aucune indication quant à la précision de cette
approximation. Cette question est l’objet de la section suivante.#
Interpolation 221

5.5 Erreur d’interpolation


L’interpolation permet, à partir d’un certain nombre de données sur les va-
leurs d’une fonction, de faire l’approximation de f (x) en tout point x. Toutefois,
cette opération entraîne une erreur d’interpolation qu’il convient d’étudier en
détail, d’autant plus que les résultats nous serviront également dans l’analyse
de l’intégration et de la dérivation numériques.
On peut exprimer l’erreur d’interpolation de la façon suivante :

f (x) = pn (x) + En (x) ou encore En (x) = f (x) − pn (x)


Cela signifie que le polynôme pn (x) de degré n procure une approximation
de la fonction f (x) avec une erreur En (x). Il reste à évaluer cette erreur. On
constate immédiatement que :
En (xi ) = 0 pour i = 0, 1, 2, · · · , n
et donc que l’erreur d’interpolation est nulle aux points de collocation puisque
le polynôme passe exactement par ces points. On suppose de plus que les
données des points (xi , f (xi )) sont exactes, ce qui n’est pas toujours le cas. En
effet, si ces données proviennent de mesures expérimentales, elles peuvent être
entachées d’une erreur de mesure. Dans ce qui suit, nous supposons que cette
erreur est nulle. Le résultat suivant donne une expression analytique du terme
d’erreur.

Théorème 5.21 (de l’erreur d’interpolation)


Soit x0 < x1 < x2 < · · · < xn , les abscisses des points de collocation. On
suppose que la fonction f (x) est définie dans l’intervalle [x0 , xn ] et qu’elle
est (n + 1) fois dérivable dans ]x0 , xn [. Alors, pour tout x dans l’intervalle
[x0 , xn ], il existe ξ(x) appartenant à l’intervalle ]x0 , xn [ tel que :
f (n+1) (ξ(x))
En (x) = (x − x0 )(x − x1 ) · · · (x − xn ) (5.21)
(n + 1)!
Démonstration (facultative) :
Aux nœuds d’interpolation, on a En (xk ) = 0, pour k = 0, 1, 2, · · · , n et pour
une valeur de x fixe et différente des abscisses d’interpolation (x ̸= xk ), on
définit la fonction suivante de la variable t :
(t − x0 )(t − x1 ) · · · (t − xn )
g(t) = f (t) − pn (t) − (f (x) − pn (x))
(x − x0 )(x − x1 ) · · · (x − xn )
Puisque f (x) ∈ C n+1 ([a, b]) et pn ∈ C ∞ ([a, b]), on a g(t) ∈ C n+1 ([a, b]) et
de plus, g(t = xk ) = 0 pour k = 0, 1, 2, · · · , n. En t = x, on a aussi que
g(t = x) = 0. La fonction g(t) possède donc n + 2 racines et le théoréme de
Rolle généralisé [5] assure l’existence d’un point ξ ∈]a , b[ tel que g (n+1) (ξ) = 0
c.-à-d. :
n+1
* +
d (t − x 0 )(t − x 1 ) · · · (t − x n )
f (n+1) (ξ)−p(n+1)
n (ξ)−(f (x)−pn (x)) n+1 =0
dt (x − x0 )(x − x1 ) · · · (x − xn ) t=ξ
222 Chapitre 5
(n+1)
Mais pn (ξ) = 0 d’où :
(n + 1)!
f (n+1) (ξ) = (f (x) − pn (x))
(x − x0 )(x − x1 ) · · · (x − xn )
ou encore :
f (n+1) (ξ)
f (x) = pn (x) + (x − x0 )(x − x1 ) · · · (x − xn )
(n + 1)!

La relation 5.21 est l’expression analytique de l’erreur d’interpolation. Plu-
sieurs commentaires sont nécessaires pour bien comprendre la portée de ce
résultat.
– On constate immédiatement que En (xi ) = 0 quel que soit i choisi entre
0 et n. L’erreur d’interpolation est nulle aux points de collocation.
– La fonction a priori inconnue f (x) apparaît par l’entremise de sa dérivée
d’ordre (n+1) évaluée au point ξ(x), également inconnu et qui varie avec
x.
– Il existe une similarité entre l’erreur d’interpolation et l’erreur reliée au
développement de Taylor 1.21. Dans les deux cas, on montre l’existence
d’un point ξ(x) permettant d’évaluer l’erreur, mais que l’on ne peut
généralement pas déterminer.
– Puisque le terme d’erreur en un point x fait intervenir des coefficients de
la forme (x − xi ), il y a tout intérêt à choisir les points xi qui sont situés
le plus près possible de x. Ce choix est utile lorsqu’un grand nombre
de points de collocation sont disponibles et qu’il n’est pas nécessaire
de construire un polynôme passant par tous les points. On retient alors
seulement les points de collocation les plus près de x de manière à mini-
miser l’erreur.
– La fonction (x − x0 )(x − x1 ) · · · (x − xn ) est un polynôme de degré (n + 1)
et possède donc les (n + 1) racines réelles (xi pour i = 0, 1, · · · , n). Dans
certaines conditions, cette fonction peut osciller avec de fortes ampli-
tudes, d’où le risque de grandes erreurs d’interpolation. Cette propriété
fait en sorte qu’il est délicat d’effectuer des interpolations en utilisant des
polynômes de degré élevé.

Exemple 5.22
Soit les valeurs expérimentales suivantes, que l’on a obtenues en mesurant la
vitesse (en km/h) d’un véhicule toutes les 5 secondes :

t(s) 0 5 10 15 20 25 30 35 40 45
v(km/h) 55 60 58 54 55 60 54 57 52 49

On constate que le véhicule se déplace à une vitesse oscillant autour de


55 km/h. On peut établir l’équation d’un polynôme de degré 9 passant par
ces dix points (fig. 5.4). On remarque de fortes oscillations de ce polynôme
Interpolation 223
75

Vitesse 70
(km/h) 65
60

55
50
45
40
35
30
25
20
0 5 10 15 20 25 30 35 40 45
Temps (s)

Figure 5.4 – Interpolation de la vitesse d’un véhicule

principalement au début et à la fin de l’intervalle [0 , 45]. Ainsi, si l’on in-


terpole les valeurs en t = 2,5 s et en t = 42,5 s, on trouve des vitesses
respectives de 69,25 km/h et de 27,02 km/h, ce qui semble peu probable
puisque le véhicule se déplace à une vitesse à peu près uniforme. Si l’on re-
garde les valeurs adjacentes au temps t = 42,5 s, le véhicule serait passé de
52 km/h à 49 km/h en passant par un creux soudain de 27,02 km/h. Rien
ne laisse supposer un tel comportement. Pour remédier à la situation, on doit
recourir à des polynômes de degré plus faible. Ainsi, en prenant seulement les
trois premiers points de collocation qui définissent un polynôme de degré 2,
on trouve une vitesse de 58,38 km/h en t = 2,5 s. De même, en ne consi-
dérant que les trois derniers points de collocation, on trouve une vitesse de
50,25 km/h en t = 42,5 s. Ces résultats sont beaucoup plus acceptables.
Profitons de l’occasion pour souligner les dangers de l’extrapolation, c’est-
à-dire de l’utilisation du polynôme d’interpolation à l’extérieur de l’intervalle
contenant les points de collocation. Dans cet exemple où l’intervalle est [0 , 45],
on trouverait une vitesse de 256 km/h en t = 47 s et de 1635 km/h en t = 50s.
Ces valeurs sont inutilisables. #

Remarque 5.23
L’expression analytique du terme d’erreur nous impose de choisir les points
d’interpolation les plus près du point x où l’on veut interpoler. Cela s’est révélé
souhaitable dans l’exemple précédent et est en fait une règle générale. "

Exemple 5.24
Soit les points (1 , 1), (3 , 1,732 051), (7,5 , 2,738 613), (9,1 , 3,016 621) et
(12 , 3,464 102). Si l’on veut interpoler la fonction inconnue f (x) en x = 8, il
est utile de construire une table de différences divisées.
224 Chapitre 5

Table de différences divisées


xi f (xi ) f [xi , xi+1 ] f [xi , · · · , xi+2 ] f [xi , · · · , xi+3 ] f [xi , · · · , xi+4 ]

7,5 2,738 613


0,173 755
9,1 3,016 621 −0,004 322 47
0,154 304 0,000 4291
12 3,464 102 −0,006 253 44 −0,000 1149
0,192 450 0,001 1761
3 1,732 051 −0,015 779 54
0,366 025
1 1,000 000

On remarque que les abscisses xi ont été ordonnées en fonction de leur distance
par rapport à x = 8. Cela permet d’effectuer d’abord l’interpolation avec les
valeurs les plus proches de x et également de diminuer plus rapidement l’erreur
d’interpolation. En effet, en prenant des polynômes de degré de plus en plus
élevé, la formule de Newton donne les résultats suivants.

Classement par distance croissante



Degré n pn (8) |pn (8) − 8|
1 2,825 490 0,29 × 10−2
2 2,827 868 0,55 × 10−3
3 2,828 812 0,38 × 10−3
4 2,827 547 0,88 × 10−3

La fonction interpolée est f (x) = x, qui prend la valeur de 2,828 427 125 en
x = 8. On constate donc une précision acceptable dès le polynôme de degré 1.
Si les points d’interpolation avaient été classés par abscisse croissante, on aurait
obtenu le tableau suivant.

Classement par abscisse croissante



Degré n pn (8) |pn (8) − 8|
1 3,562 178 0,73 × 10+0
2 2,795 705 0,32 × 10−1
3 2,825 335 0,30 × 10−2
4 2,827 547 0,88 × 10−3

Il faut dans ce cas attendre le degré 3 avant d’avoir une précision acceptable.
On obtient bien sûr le même résultat dans les deux cas lorsque tous les points
d’interpolation sont utilisés, c’est-à-dire lorsqu’on recourt au polynôme de de-
gré 4. On voit donc l’importance d’utiliser les points de collocation les plus
Interpolation 225

près possible de l’abscisse autour de laquelle on veut effectuer l’interpolation.


#

L’expression analytique de l’erreur d’interpolation 5.21 ne permet pas d’éva-


luer la précision de l’approximation. Il est cependant souhaitable de pouvoir
évaluer cette erreur, même de façon grossière. Cela est possible avec la formule
de Newton. En effet, l’expression 5.21 fait intervenir la dérivée d’ordre (n + 1)
de la fonction f (x) en x = ξ. C’est ce terme qu’il est nécessaire d’estimer,
puisque c’est le seul qui ne puisse être évalué exactement.
Considérons le cas particulier où les abscisses xi sont également distantes,
c’est-à-dire où :
xi+1 − xi = h
Il faut établir un lien entre les dérivées de la fonction f (x) et les différences divi-
sées. On remarque dans un premier temps que f [x0 , x1 ] est une approximation
d’ordre 1 de la dérivée de f (x) en x = x0 :

f [x0 , x1 ] = f ′ (x0 ) + O(h)

En effet, on a :

f (x1 ) − f (x0 ) f (x0 + h) − f (x0 )


f [x0 , x1 ] = =
(x1 − x0 ) h

En utilisant le développement de Taylor 1.20, on obtient :


, ′′ 2
-
f (x0 ) + f ′ (x0 )h + f (x20 )h + O(h3 ) − f (x0 )
f [x0 , x1 ] =
h

′ f ′′ (x0 )h
= f (x0 ) + + O(h2 ) = f ′ (x0 ) + O(h)
2
De même, on peut montrer qu’à une constante près la n-ième différence divisée
de f (x) est une approximation d’ordre 1 de la dérivée n-ième de f (x) en x = x0 .
On peut en effet démontrer que :

f (n) (x0 )
f [x0 , x1 , x2 · · · , xn ] = + O(h) (5.22)
n!
Nous reviendrons sur l’approximation 5.22 au chapitre 6 sur la dérivation
numérique. Pour le moment, servons-nous de ce résultat. On suppose que la
dérivée (n + 1)-ième de f (x) varie peu dans l’intervalle [x0 , xn ]. On a alors
l’approximation suivante :

f (n+1) (x0 ) f n+1 (ξ)


f [x0 , x1 , x2 , · · · , xn , xn+1 ] ≃ ≃
(n + 1)! (n + 1)!

On peut ainsi estimer le terme d’erreur 5.21 par :

En (x) ≃ f [x0 , x1 , x2 , · · · , xn , xn+1 ](x − x0 )(x − x1 ) · · · (x − xn ) (5.23)


226 Chapitre 5

ce qui revient à écrire :


En (x) ≃ pn+1 (x) − pn (x) (5.24)

Remarque 5.25
On remarque immédiatement que l’approximation 5.23 (ou 5.24) n’est rien
d’autre que le terme nécessaire au calcul du polynôme de degré (n + 1) dans
la formule de Newton 5.6. En d’autres termes, il est possible d’évaluer l’erreur
d’interpolation liée à un polynôme de degré n en calculant le terme suivant
dans la formule de Newton.
L’approximation 5.23 (ou 5.24) n’est pas toujours d’une grande précision,
mais c’est généralement la seule disponible. "

Cela nous amène à suggérer le critère d’arrêt suivant dans le cas de l’inter-
polation à l’aide de la formule de Newton. On considère que l’approximation
pn (x) est suffisamment précise si :
|pn+1 (x) − pn (x)|
< ϵa
|pn+1 (x)|
où ϵa est une valeur de tolérance fixée à l’avance. Il est généralement recom-
mandé de fixer également le degré maximal N des polynômes utilisés.

Exemple 5.26 √
Soit une table de la fonction x. Puisqu’on connaît la fonction (ce qui n’est
bien sûr pas le cas en pratique), on est donc en mesure d’évaluer l’erreur exacte
et de la comparer avec son approximation obtenue à l’aide de la relation 5.23.
Table de différences divisées
xi f (xi ) f [xi , xi+1 ] f [xi , · · · , xi+2 ] f [xi , · · · , xi+3 ] f [xi , · · · , xi+4 ]

7 2,645 751
0,177 124
9 3,000 000 −0,004 702 99
0,158 312 0,000 206 783
11 3,316 625 −0,003 462 29 −0,9692 × 10−5
0,144 463 0,000 129 248
13 3,605 551 −0,002 686 80
0,133 716
15 3,872 983


On tente d’obtenir une approximation de 8 à l’aide de cette table. En se
basant sur un polynôme de degré 1 et en prenant x0 = 7, on obtient facilement :
p1 (x) = 2,645 751 + 0,177 124(x − 7)
de telle sorte que p1 (8) = 2,822 875. L’erreur exacte en x = 8 est alors :

E1 (8) = f (8) − p1 (8) = 8 − 2,822 875 = 0,005 552 125
Interpolation 227

Selon l’expression 5.23, on peut estimer cette erreur par le terme suivant dans
la formule de Newton 5.6, c’est-à-dire :
E1 (8) ≃ −0,004 702 99(8 − 7)(8 − 9) = 0,004 702 99
On constate donc que l’erreur approximative est assez près de l’erreur exacte.
Considérons maintenant le polynôme de degré 2 :
p2 (x) = p1 (x) − 0,004 702 99(x − 7)(x − 9)
qui prend la valeur :
p2 (8) = 2,822 875 + 0,004 702 99 = 2,827 577 990
soit une erreur exacte de 0,000 849 135. Encore ici, cette erreur peut être ap-
prochée à l’aide du terme suivant dans la formule de Newton :
E2 (8) ≃ 0,000 206 783(8 − 7)(8 − 9)(8 − 11) = 0,000 620 349
Enfin, en passant au polynôme de degré 3, on trouve :
p3 (x) = p2 (x) + 0,000 206 783(x − 7)(x − 9)(x − 11)
ce qui entraîne que :
p3 (8) = 2,827 578 301 + 0,000 620 349 = 2,828 198 339
L’erreur exacte est alors 0,000 228 786, ce qui est près de la valeur obtenue au
moyen de l’équation 5.23 :
E3 (8) ≃ −0,9692 × 10−5 (8 − 7)(8 − 9)(8 − 11)(8 − 13) = 0,000 145 380
qui montre que cette approximation possède 4 chiffres significatifs.
On remarque par ailleurs dans la table que les premières différences divisées
sont négatives et que le signe alterne d’une colonne à une autre. Cela s’explique
par la relation 5.22, qui établit un lien entre les différences divisées et les
dérivées de la fonction f (x). Dans cet exemple, on a :
√ 1 −1 3
f (x) = x, f ′ (x) = √ , f ′′ (x) = ′′′
3 , f (x) = 5 , etc.
2 x 4x 2 8x 2
Le signe des dérivées alterne, tout comme le signe des différentes colonnes de
la table de différences divisées. #

Nous terminerons cette section en cherchant à déterminer l’ordre de conver-


gence de l’approximation polynomiale. Si l’on retient le cas où les abscisses sont
également distantes, il suffit de poser :
x − x0
s= ou encore (x − x0 ) = sh (5.25)
h
On remarque alors que :
x − xi = x − (x0 + ih) = (x − x0 ) − ih = sh − ih = (s − i)h

Vous aimerez peut-être aussi