Interpolation polynômiale
Chapitre III
Interpolation polynômiale
Cours d’Analyse Numérique- Dr. NADIR Mahmoud 24
Interpolation polynômiale
1. Introduction
A partir d'une fonction 𝑓(𝑥) connue seulement en (n + 1) points de la forme
(𝑥𝑖 , 𝑓(𝑥𝑖 )) pour 𝑖 = 0, 1, 2, … , 𝑛, il est possible de construire une approximation de
𝑓(𝑥𝑖 ). Les points (𝑥𝑖 , 𝑓(𝑥𝑖 )) sont appelés points d'interpolation et peuvent provenir de
données expérimentales ou d'une table. 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 d'interpolation.
2. Interpolation de Lagrange
Un polynôme de degré n peut s’écrire sous la forme générale:
𝑝𝑛 (𝑥 ) = 𝑎0 + 𝑎1 𝑥 + 𝑎2 𝑥 2 + 𝑎3 𝑥 3 + ⋯ + 𝑎𝑛 𝑥 𝑛 (𝑎𝑛 ≠ 0) (3.1)
Ce polynôme possède n racines (𝑟𝑖 ) qui verifient la condition: 𝑝(𝑟𝑖 ) = 0.
L'interpolation de Lagrange est une façon simple et systématique de construire un
polynôme d'interpolation. On suppose que l'on sait construire (n + 1) polynômes 𝐿𝑖 (𝑐)
de degré n satisfaisant les deux conditions suivantes:
𝐿𝑖 (𝑥𝑖 ) = 1 ∀𝑖
𝐿𝑖 (𝑥𝑗 ) = 1 ∀𝑗 ≠ 𝑖
Cela signifie que le polynôme𝐿𝑖 (𝑥𝑖 ) de degré n prend la valeur 1 en xi et s'annule à tous
les autres points de l’interpolation. Dans ces conditions, on défini la fonction L(x) par:
𝐿(𝑥 ) = ∑𝑛𝑖=0 𝑓 (𝑥𝑖 )𝐿𝑖 (𝑥) (3.2)
Le polynôme L(x) qui passe par les (n + 1) points d’interpolation est de degré n, car
chacun des Li(x) est de degré n. En effet, il est facile de montrer que, qulque soit « j »,
selon les deux conditions précédentes:
𝑛
𝐿(𝑥𝑗 ) = 𝑓(𝑥𝑗 )𝐿𝑗 (𝑥𝑗 ) + ∑ 𝑓 (𝑥𝑖 )𝐿𝑖 (𝑥𝑗 ) = 𝑓(𝑥𝑗 ) + 0 =
𝑖=0,𝑖≠𝑗
𝑓(𝑥𝑗 ) (3.3)
Le polynôme passe donc par tous les points d’interpolation. Puisque ce polynôme est
unique, L(x) est bien le polynôme recherché. Il reste donc à construire les fonctions 𝐿𝑖
(x). Suivons une démarche progressive.
Cours d’Analyse Numérique- Dr. NADIR Mahmoud 25
Interpolation polynômiale
2.1.Polynômes de degré 1
Il s'agit de déterminer le polynôme de degré 1 dont la courbe 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, L0(x1)=0, L1(x0)=0 L0(x0)=1 et L1(x1)=1. On pense
immédiatement au polynôme:
(𝑥 − 𝑥1 ) (3.4)
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 :
(𝑥−𝑥1 )
𝐿0 = (3.5)
(𝑥0 −𝑥1 )
Un raisonnement similaire pour L1(x) donne:
(𝑥−𝑥0 )
𝐿1 (𝑥) = (3.6)
(𝑥1 −𝑥0)
Ces deux fonctions sont illustrées dans la figure 3.1. Le polynôme de degré 1 est donc :
𝑝1 (𝑥 ) = 𝑓 (𝑥0 )𝐿0 (𝑥 ) + 𝑓 (𝑥1 )𝐿1 (𝑥) (3.7)
Un raisonnement similaire pour L1(x) donne :
(𝑥−𝑥0 )
𝐿1 (𝑥) = (3.8)
(𝑥1 −𝑥0)
Le polynôme de degré 1 est donc :
𝑝1 (𝑥 ) = 𝑓 (𝑥0 )𝐿0 (𝑥 ) + 𝑓 (𝑥1 )𝐿1 (𝑥) (3.9)
Figure 3.1 : Polynômes de Lagrange de degré 1 : L0(x) et L1(x)
Cours d’Analyse Numérique- Dr. NADIR Mahmoud 26
Interpolation polynômiale
2.2.Polynômes de degré n
Il est possible d’analyser le cas general de la même façon relative au polynôme de
degré 1. La fonction L0(x) doit s’annuler en x = x1, x2, x3, … ,xn. Il faut donc introduire
la fonction :
(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )(𝑥 − 𝑥3 ) … (𝑥 − 𝑥𝑛 ) (3.10)
qui vaut :
(𝑥0 − 𝑥1 )(𝑥0 − 𝑥2 )(𝑥0 − 𝑥3 ) … (𝑥0 − 𝑥𝑛 ) (3.11)
après division en x = x0:
(𝑥−𝑥1 )(𝑥−𝑥2 )(𝑥−𝑥3 )…(𝑥−𝑥𝑛 )
𝐿0 (𝑥 ) = (𝑥 (3.12)
0 −𝑥1 )(𝑥0 −𝑥2 )(𝑥0 −𝑥3 )…(𝑥0 −𝑥𝑛 )
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 Li(x), on pose :
(𝑥−𝑥 )(𝑥−𝑥 )(𝑥−𝑥 )…(𝑥−𝑥 )
𝐿𝑖 (𝑥 ) = (𝑥 −𝑥 1)(𝑥 −𝑥2 )(𝑥 −𝑥3 )…(𝑥 −𝑥𝑛 (3.13)
𝑖 1 𝑖 2 𝑖 3 𝑖 𝑛)
Cette fois-ci seul le facteur (x – x1) 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 d’interpolation. Ainsi,
l’unique polynôme d’interpolation de degré n passant par tous ces points (x i, f(xi)) peut
s’ecrire :
𝑝𝑛 (𝑥 ) = ∑𝑛𝑖=0 𝑓 (𝑥𝑖 )𝐿𝑖 (𝑥) (3.14)
Exemple :
Prenons les points suivants : (0, 1), (1, 2), (2, 9) et (3, 28). L’interpolation de
lagrange donne dans ce cas :
(𝑥 − 1)(𝑥 − 2)(𝑥 − 3) (𝑥 − 0)(𝑥 − 2)(𝑥 − 3)
𝑝3 = 1 +2
(0 − 1)(0 − 2)(0 − 3) (1 − 0)(1 − 2)(1 − 3)
(𝑥 − 0)(𝑥 − 1)(𝑥 − 3) (𝑥 − 0)(𝑥 − 1)(𝑥 − 2)
+9 + 28
(2 − 0)(2 − 1)(2 − 3) (3 − 0)(3 − 1)(3 − 2)
(𝑥 − 1)(𝑥 − 2)(𝑥 − 3)
𝑝3 = − + 𝑥 (𝑥 − 2)(𝑥 − 3)
6
Cours d’Analyse Numérique- Dr. NADIR Mahmoud 27
Interpolation polynômiale
𝑥(𝑥 − 1)(𝑥 − 3) 𝑥 (𝑥 − 1)(𝑥 − 2)
−9 + 14
2 3
La méthode d'interpolation de Lagrange présente un inconvénient: elle n'est pas
récursive. En effet, si on souhaite passer d'un polynôme de degré n à un polynôme de
degré (n + 1) (en ajoutant un point d’interpolation), on doit reprendre tout le processus à
nouveau. C'est en revanche ce que permet la méthode d'interpolation de Newton.
3. Polynôme de Newton
Lorsqu'on écrit l'expression générale d'un polynôme, on pense immédiatement à la
forme (3.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 celui de l’expression (3.15) ci-après.
Les coefficients de la forme 3.15 s'annulent tous en x=x 0, sauf le premier. On peut ainsi
montrer que :
pn(x0) = a0= f(x0)
𝑝𝑛 (𝑥 ) = 𝑎0
+𝑎1 (𝑥 − 𝑥0 )
+𝑎2 (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )
+𝑎3 (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )
⋮
+𝑎𝑛−1 (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 ) … (𝑥 − 𝑥𝑛−2 )
+𝑎𝑛 (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 ) … (𝑥 − 𝑥𝑛−1 ) (3.15)
Le premier coefficient est donc:
𝑎0 = 𝑓(𝑥0 ) (3.16)
On doit ensuite s'assurer que pn(x1) = f(x1):
𝑝𝑛 (𝑥1 ) = 𝑎0 + 𝑎1 (𝑥1 − 𝑥0 ) = 𝑓 (𝑥0 ) + 𝑎1 (𝑥1 − 𝑥0 ) = 𝑓(𝑥1 )
qui permet d’obtenir a1:
𝑓(𝑥1 )− 𝑓(𝑥0 )
𝑎1 = (3.17)
𝑥1 −𝑥0
Cours d’Analyse Numérique- Dr. NADIR Mahmoud 28
Interpolation polynômiale
Le troisième coefficient est déterminé par:
𝑝𝑛 (𝑥2 ) = 𝑎0 + 𝑎1 (𝑥2 − 𝑥0 ) + 𝑎2 (𝑥2 − 𝑥0 )(𝑥2 − 𝑥1 ) = 𝑓(𝑥2 )
En utilisant l’expression des premières differences divisées :
𝑓(𝑥𝑖+1 )− 𝑓(𝑥𝑖 )
𝑓 [𝑥𝑖 , 𝑥𝑖+1 ] = (3.18)
𝑥𝑖+1 −𝑥𝑖
Le polynôme 𝑝𝑛 (𝑥2 ) peut s’ecrire aussi sous la forme :
𝑝𝑛 (𝑥2 ) = 𝑓(𝑥0 ) + 𝑓 [𝑥0 , 𝑥1 ](𝑥2 − 𝑥0 ) + 𝑎2 (𝑥2 − 𝑥0 )(𝑥2 − 𝑥1 ) =
𝑓(𝑥2 ) (3.19)
On obtient le coefficient 𝑎2 :
1
𝑎2 = (𝑓(𝑥2 ) − 𝑓 (𝑥0 ) − 𝑓[𝑥0 , 𝑥1 ](𝑥2 − 𝑥0 ))
(𝑥2 − 𝑥0 )(𝑥2 − 𝑥1 )
1 𝑓 (𝑥2 ) − 𝑓 (𝑥0 ) (𝑥2 − 𝑥0 )
𝑎2 = ( − 𝑓 [𝑥0 , 𝑥1 ] )
(𝑥2 − 𝑥0 ) (𝑥2 − 𝑥1 ) (𝑥2 − 𝑥1 )
1 𝑓(𝑥2 ) − 𝑓 (𝑥1 ) + 𝑓 (𝑥1 ) − 𝑓(𝑥0 ) (𝑥2 − 𝑥0 )
𝑎2 = ( − 𝑓 [𝑥0 , 𝑥1 ] )
(𝑥2 − 𝑥0 ) (𝑥2 − 𝑥1 ) (𝑥2 − 𝑥1 )
1 𝑓 (𝑥2 ) − 𝑓(𝑥1 ) (𝑓(𝑥1 ) − 𝑓 (𝑥0 )) (𝑥1 − 𝑥0 ) (𝑥2 − 𝑥0 )
𝑎2 = ( + − 𝑓 [𝑥0 , 𝑥1 ] )
(𝑥2 − 𝑥0 ) (𝑥2 − 𝑥1 ) (𝑥2 − 𝑥1 ) (𝑥2 − 𝑥1 ) (𝑥2 − 𝑥1 )
1 (𝑥1 − 𝑥0 ) (𝑥2 − 𝑥0 )
𝑎2 = (𝑓[𝑥1 , 𝑥2 ] + 𝑓[𝑥0 , 𝑥1 ] ( − ))
(𝑥2 − 𝑥0 ) (𝑥2 − 𝑥1 ) (𝑥2 − 𝑥1 )
1
𝑎2 = (𝑥 (𝑓 [𝑥1 , 𝑥2 ] − 𝑓 [𝑥0 , 𝑥1 ]) (3.20)
2 −𝑥0 )
L’expression (3.20) fait intervenir une différence divisée de différences divisées. On
definit alors les deuxièmes différences divisées de la fonction f(x) qui dependent des
premières différences divisées par la relation:
𝑓[𝑥𝑖+1 ,𝑥𝑖+2 ]−𝑓[𝑥𝑖 ,𝑥𝑖+1 ]
𝑓 [𝑥𝑖 , 𝑥𝑖+1 , 𝑥𝑖+2 ] = (3.21)
(𝑥𝑖+2 −𝑥𝑖 )
De même, les nes différences divisées s’ecrivent sous la forme :
𝑓[𝑥1 ,𝑥2 ,…,𝑥𝑛 ]− 𝑓[𝑥0 ,𝑥1 ,𝑥2 ,…,𝑥𝑛−1 ]
𝑓 [𝑥0 , 𝑥1 , 𝑥2 , … , 𝑥𝑛 ] = (3.22)
(𝑥𝑛 −𝑥0 )
On definit donc le polynôme de Newton :
Cours d’Analyse Numérique- Dr. NADIR Mahmoud 29
Interpolation polynômiale
𝑝𝑛 (𝑥 ) = 𝑝𝑛−1 (𝑥 ) + 𝑎𝑛 (𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) … (𝑥 − 𝑥𝑛−1 ) (3.23)
Les coefficients de ce polynôme sont les différences divisées:
𝑎𝑖 = 𝑓 [𝑥0 , 𝑥1 , 𝑥2 , … , 𝑥𝑖 ] 𝑝𝑜𝑢𝑟 0 ≤ 𝑖 ≤ 𝑛
Exemple :
La table de différences divisées pour les points (0,1),(1,2),(2,9) et (3,28) est:
𝑥𝑖 𝑓(𝑥𝑖 ) 𝑓[𝑥𝑖 , , 𝑥𝑖+1 ] 𝑓[𝑥𝑖 , … , 𝑥𝑖+2 ] 𝑓[𝑥𝑖 , … , 𝑥𝑖+3 ]
0 1
1
1 2 3
7 1
2 9 6
19
3 28
La formule de Newton conduit au polynôme suivant :
𝑝3 (𝑥 ) = 1 + 1(𝑥 − 0) + 3(𝑥 − 0)(𝑥 − 1) + 1(𝑥 − 0)(𝑥 − 1)(𝑥 − 2) = 𝑥 3 + 1
Cours d’Analyse Numérique- Dr. NADIR Mahmoud 30