Chapitre 3 : Interpolation
Enseignant : Dr. Noui Abdelkader
Institut des Séances de la terre et de L’univers, Université Batna 2
Batna 05078, Algérie
1. Introduction 2. Matrice de Vandermonde
L’interpolation est d’une grande importance dans Le problème d’interpolation consiste donc à déterminer
l’analyse numérique (tel que : l’intégration numérique et la l’unique polynôme de degré n passant par les (n + 1) points
résolution des équations différentielles). Dans le présent de collocation ((xi, f(xi)) pour i = 0, 1, 2, 3, · · · , n). Il reste
chapitre la fonction (f) n’est pas connues, sauf en certains maintenant à le construire de la manière la plus efficace et la
points de son intervalle de définition. Donc le but est de plus générale possible. Une première tentative consiste à
trouver une bonne approximation de (f) à partir d’un nombre déterminer les inconnues ai du polynôme (Eq. 1) en vérifiant
fini d’information de celle-ci. La Figure 1 résume la directement les (n+1) équations de collocation :
situation.
p n (x i ) = f (x i ) pour i = 0, 1, 2, …, n (2)
ou encore :
a0 + a1x i + a2 x i 2 + a3x i 3 + .... + an x i n = f (x i ) (3)
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 x 02 x 03 ... x 0n a0 f (x 0 )
1 x1 x 2
1 x 3
1 ... x 1n a1 f ( x 1 )
1 x2 x 2
x 3
... x 2n a2 f (x 2 )
= (4)
2 2
Fig. 1 Problème d’interpolation
. . . ... . . .
. . . ... . . .
ll s’agit d’un problème d’interpolation, dont la solution est
relativement simple. Il suffit de construire un polynôme de degré ... x nn an f ( x n )
1 xn x n2 x n3
suffisamment élevé dont la courbe passe par les points de
collocation. On parle alors du polynôme de collocation ou
polynôme d’interpolation. La matrice de ce système linéaire porte le nom de matrice
Un polynôme de degré n dont la forme générale est : de Vandermonde. On peut montrer que le conditionnement
de cette matrice augmente fortement avec la taille (n + 1) du
p n (x ) = a0 + a1x + a2 x 2 + a3x 3 + .... + an x n (1) 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
avec an ̸ ≠ 0 possède, tenant compte des multiplicités, très
calculer un polynôme d’interpolation. Cette méthode est
exactement n racines qui peuvent être réelles ou complexes
donc rarement utilisée.
conjuguées. Rappelons que r est une racine de pn (x) si pn (r) =
Par exemple, On doit calculer le polynôme passant par les
0.
points (0 , 1), (1 , 2), (2 , 9) et (3 , 28). Étant donné ces 4 points,
Par (n + 1) points de collocation d’abscisses distinctes ((xi,
le polynôme recherché est tout au plus de degré 3. Ses
f(xi) pour i = 0, 1, 2, · · · , n), on ne peut faire correspondre qu’un
coefficients ai sont solution de :
et un seul polynôme de degré n.
L’unique polynôme de degré n passant par les points (xi, 0 a0 1
1 0 0
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.
1
1 1 1 a1 2
=
Il reste à assurer l’existence de l’interpolant, ce que nous 1 2 4 8 a2 9
ferons tout simplement en le construisant au moyen de méthodes
diverses qui feront l’objet des prochaines sections. 1 3 9 27 a3 28
Chapitre 3 : Interpolation
dont la solution est [1 0 0 1]T. Le polynôme recherché est donc mais qui vaut (x0 - x1) en x = x0. Pour s’assurer d’une valeur
p3 (x) = 1 + x3. 1 en x = x0, il suffit d’effectuer la division appropriée afin
d’obtenir :
3. Interpolation de Lagrange (x − x 1 )
L 0 (x ) =
(x 0 − x 1 )
Pour donner une approximation à une fonction f (x) à
partir d’un ensemble fini de points arbitraires, on utilise une Un raisonnement similaire pour L1(x) donne :
formule plus générale appelée Formule d’interpolation de
Lagrange où polynôme de Lagrange. Ce polynôme est défini (x − x 0 )
par des coefficients de la forme suivante : L1 (x ) =
(x 1 − x 0 )
n (x − x j ) (x − x 0 ) (x − x 1 )
Li (x ) = = .... Ces deux fonctions sont illustrées à la Figure 2.
j =0 (x i − x j ) (x i − x 0 ) (x i − x 1 )
j i
(5)
(x − x i −1 ) (x − x i +1 ) (x − x n )
....
(x i − x i −1 ) (x i − x i +1 ) (x i − x n )
Li (x i ) = 1 i
(6)
Li (x j ) = 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 et la formule du polynôme d’interpolation est
donc :
Considérons le système linéaire suivant :
n
Fig. 2 Polynômes de Lagrange de degré 1 : L0(x) et L1(x)
L (x ) = f (x i )Li (x ) (7)
i =0 Le polynôme de degré 1 est donc :
est un polynôme de degré n, car chacun des Li (x) est de p1 (x ) = f (x 0 )L 0 (x ) + f (x 1 )L1 (x )
degré n. De plus, ce polynôme passe par les (n + 1) points
de collocation et est donc le polynôme recherché. En Par exemple, L’équation de la droite passant par les points
effet, il est facile de montrer que selon l’équation 6 : (2 , 3) et (5 , - 6) est :
n
( x − 5) ( x − 2)
L (x j ) = f (x j )Li (x j ) +
i = 0,i j
f (x i )L i (x j ) = 3
( 2 − 5)
+ (−6)
(5 − 2)
= −( x − 5) − 2(x − 2)
f (x j ) + 0 = f (x j ) j
3.2 Polynômes de degré 2
Le polynôme L (x) passe donc par tous les points de
collocation. Puisque ce polynôme est unique, L (x) est bien Si l’on cherche le polynôme de degré 2 passant par les
le polynôme recherché. Il reste à construire les fonctions points (x0, f (x0)), (x1, f (x1)) et (x2, f (x2)), on doit construire
Li(x). Suivons une démarche progressive. trois fonctions Li(x). Le raisonnement est toujours le même.
La fonction L0 (x) s’annule cette fois en x = x1 et en x = x2.
3.1 Polynômes de degré 1 On doit forcément avoir un coefficient de la forme :
Il s’agit de déterminer le polynôme de degré 1 dont la
(x − x 1 )( x − x 2 )
courbe (une droite) passe par les deux points (x0, f (x0)) et (x1,
qui vaut (x0 - x1)(x0 - x2) en x = x0. Pour satisfaire la
f (x1)). On doit donc construire deux polynômes L0 (x) et L1
condition L0 (x0) = 1, il suffit alors de diviser le coefficient
(x) de degré 1 qui vérifient :
par cette valeur et de poser :
L0 (x 0 ) = 1 L1 ( x 0 ) = 0
(x − x 1 )( x − x 2 )
L 0 (x ) =
L 0 (x 1 ) = 0 L1 ( x 1 ) = 1 ( x 0 − x 1 )( x 0 − x 2 )
Le polynôme L0 (x) doit s’annuler en x = x1. On pense Cette fonction vaut bien 1 en x0 et 0 en x1 et x2. De la
immédiatement au polynôme (x - x1) qui s’annule en x = x1, même manière, on obtient les fonctions L1 (x) et L2 (x)
Master 1 : Géotechnique Numérique Appliquée
définies par : (x − x 0 )( x − x 2 )( x − x 3 ) ...( x − x n )
L1 (x ) =
( x − x 0 )( x − x 2 ) ( x 1 − x 0 )( x 1 − x 2 )( x 1 − x 3 ) ...( x 1 − x n )
L1 (x ) =
( x 1 − x 0 )( x 1 − x 2 ) On note l’absence du terme (x – x1). L’expression
( x − x 0 )( x − x 1 ) générale pour la fonction Li (x) est donc :
L 2 (x ) =
( x 2 − x 0 )( x 2 − x 1 )
(x − x 0 ) ... ( x − x i −1 )( x − x i +1 ) ...
Li (x ) =
Ces trois fonctions sont à leur tour illustrées à la Figure 3 ( x i − x 0 ) ...( x i − x i −1 )( x i − x i +1 ) ...
(8)
(x − x n )
(x i − x n )
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.
n
p n (x ) = f ( x i )L i (x ) (9)
i =1
où les (n + 1) fonctions Li (x) sont définies par l’équation 9.
C’est la formule de Lagrange.
Par exemple, Reprenons les points (0 , 1), (1 , 2), (2 , 9) et (3
Fig. 2 Polynômes de Lagrange de degré 1 : L0(x) et L1(x) , 28), pour lesquels nous avons obtenu le polynôme p3 (x) = x3 +
1 à l’aide de la matrice de Vandermonde. L’interpolation de
Par exemple, La parabole passant par les points (1 , 2), (3 Lagrange donne dans ce cas :
, 7), (4 , - 1) est donnée par :
( x − 1)( x − 2 )( x − 3) ( x − 0 )( x − 2 )( x − 3)
( x − 3)( x − 4 ) ( x − 1)( x − 4 ) p 3 (x ) = 1
( 0 − 1)( 0 − 2 )( 0 − 3)
+2
(1 − 0 )(1 − 2 )(1 − 3)
+
p 2 (x ) = 2 +7 +
(1 − 3)(1 − 4 ) ( 3 − 1)( 3 − 4 )
( x − 0 )( x − 1)( x − 3) ( x − 0 )( x − 1)( x − 2 )
( x − 1)( x − 3) ( x − 3)( x − 4 ) (9)
( 2 − 0 )( 2 − 1)( 2 − 3)
+ (28)
( 3 − 0 )( 3 − 1)( 3 − 2 )
(−1) =
( 4 − 1)( 4 − 3) 3
7 ( x − 1)( x − 4 ) ( x − 1)( x − 3) c’est-à-dire :
− −
2 3
p 3 (x ) = −
(x − 1)( x − 2 )( x − 3)
+ x (x − 2)(x − 3) +
3.2 Polynômes de degré n 6
x ( x − 1)( x − 3) x ( x − 1)( x − 2 )
On analyse le cas général de la même façon. La fonction −9 + 14
L0 (x) doit s’annuler en x = x1, x2, x3, · · · , xn. Il faut donc 2 3
introduire la fonction :
qui est l’expression du polynôme de degré 3 passant par les 4
(x − x 1 )( x − x 2 )( x − x 3 ) ... ( x − x n ) points donnés. Cette expression n’est autre que p3 (x) = x3 + 1. Il
n’y a qu’à en faire le développement pour s’en assurer. Cela
qui vaut : 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.
( x 0 − x 1 )( x 0 − x 2 )( x 0 − x 3 ) ...( x 0 − x n ) L’interpolation de Lagrange ne fait qu’exprimer le même
polynôme différemment.
en x = x0. On a alors, après division : Enfin, le polynôme calculé permet d’obtenir une
approximation de la fonction inconnue f (x) partout dans
(x − x 1 )( x − x 2 )( x − x 3 ) ...( x − x n ) l’intervalle contenant les points de collocation, c’est-à-dire [0 ,
L 0 (x ) =
( x 0 − x 1 )( x 0 − x 2 )( x 0 − x 3 ) ...( x 0 − x n ) 3]. Ainsi, on a :
On remarque qu’il y a n facteurs de la forme (x - xi) dans f (2.5) p 3 (2.5) = 16.625
cette expression et qu’il s’agit bien d’un polynôme de degré
n. Pour la fonction L1 (x), on pose : avec une précision qui sera discutée plus loin lorsque nous
aborderons la question de l’erreur d’interpolation.
La méthode d’interpolation de Lagrange présente un
Chapitre 3 : Interpolation
inconvénient majeur : elle n’est pas récursive. En effet, si l’on
f (x i +1 ) − f (x i )
souhaite passer d’un polynôme de degré n à un polynôme de ai +1 = f x i , x i +1 = (12)
degré (n + 1) (en ajoutant un point de collocation), on doit x i +1 − x i
reprendre pratiquement tout le processus à zéro. Dans l’exemple
précédent, si l’on souhaite obtenir le polynôme de degré 4 Ainsi, le coefficient a1 peut s’écrire :
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é a1 = f x 0 , x 1 (13)
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. Il est facile de démontrer que le polynôme de degré 1 :
p1 (x ) = f (x 0 ) + f x 0 , x 1 ( x − x 0 )
4. Polynôme de Newton
Lorsqu’on écrit l’expression générale d’un polynôme, on obtenu en ne considérant que les deux premiers coefficients
pense immédiatement à l’équation 3, qui est la plus utilisée. de (10) et les expressions 11 et 13, passe par les points (x0,
Il en existe cependant d’autres qui sont plus appropriées au f(x0)) et (x1, f (x1)). Il représente donc l’unique polynôme de
cas de l’interpolation, par exemple : collocation de degré 1 passant par ces deux points.
Le troisième coefficient (a2) est à son tour déterminé par :
p n (x ) = a0
p n (x 2 ) = a0 + a1 ( x 2 − x 0 ) + a2 ( x 2 − x 0 ) (x 2 − x 1 ) = f (x 2 )
+a1 (x − x 0 )
+a2 (x − x 0 )(x − x 1 ) ou encore :
+a3 (x − x 0 )(x − x 1 )(x − x 2 )
(10) p n (x 2 ) = f (x 0 ) + f x 0 , x 1 ( x 2 − x 0 ) + a2 (x 2 − x 0 )(x 2 − x 1 )
.
. = f (x 2 )
+an −1 (x − x 0 )(x − x 1 )(x − x 2 )...(x − x n − 2 )
En isolant a2, on obtient :
+an (x − x 0 )(x − x 1 )(x − x 2 )...(x − x n −1 )
( f (x ) − f (x 0 ) − f x 0 , x 1 ( x 2 − x 0 ) )
1
On remarque que le coefficient de an comporte n a2 =
monômes de la forme (x - xi) et qu’en conséquence le ( x 2 − x 0 )( x 2 − x 1 ) 2
polynôme (10) est de degré n. 1 f (x 2 ) − f (x 0 ) (x − x 0 )
L’aspect intéressant de cette formule apparaît lorsqu’on = − f x 0 , x 1 2
essaie de déterminer les (n+1) coefficients ai de telle sorte (x 2 − x 0 ) (x 2 − x 1 ) ( x 2 − x 1 )
que pn (x) passe par les (n+1) points de collocation (xi, f (xi))
f (x 2 ) − f (x 1 ) + f (x 1 ) − f (x 0 )
pour i = 0, 1, 2, · · · , n). On doit donc s’assurer que :
1 (x 2 − x 1 )
p n (x i ) = f (x i ) pour i = 0, 1, 2, · · · , n =
( x 2 − x 0 ) −f x , x ( x 2 − x 0 )
Les coefficients de l’équation 10 s’annulent tous en x =
0 1
(x 2 − x 1 )
x0, sauf le premier. On peut ainsi montrer que :
f (x 2 ) − f (x 1 ) f (x 1 ) − f (x 0 ) ( x 1 − x 0 )
+
p n (x 0 ) = a0 = f (x 0 ) 1 ( x − x ) (x 1 − x 0 ) (x 2 − x 1 )
=
2 1
( x 2 − x 0 ) (x 2 − x 0 )
Le premier coefficient est donc :
− f x , x
0 1
(x 2 − x 1 )
a0 = f (x 0 ) (11)
1 (x 1 − x 0 ) (x 2 − x 0 )
On doit ensuite s’assurer que p n (x 1 ) = f (x 1 ) c-à-d : = f x 1 , x 2 + f x 0 , x 1 −
( x 2 − x 0 ) (x 2 − x 1 ) (x 2 − x 1 )
( f x 1 , x 2 − f x 0 , x 1 )
p n (x 1 ) = a0 + a1 (x 1 − x 0 ) = f (x 0 ) + a1 (x 1 − x 0 ) = f (x 1 ) 1
=
(x 2 − x 0 )
ce qui permet d’isoler a1 pour obtenir :
On en arrive donc à une expression qui fait intervenir une
f (x 1 ) − f (x 0 ) différence divisée de différences divisées.
a1 =
x1 − x 0
Les deuxièmes différences divisées de la fonction f (x)
On définit les premières différences divisées de la sont définies à partir des premières différences divisées par
fonction f (x) par : la relation :
Master 1 : Géotechnique Numérique Appliquée
f x i +1 , x i + 2 − f x i , x i +1 p n (x ) = a0 + (x − x 0 )(a1 + (x − x 1 )(a2 + (x − x 2 )
f x i , x i +1 , x i + 2 = (14) (20)
( x i +2 − x i ) (a3 + ... + (x − x n − 2 )(an −1 + an (x − x n −1 ))...)))
De même, les n-ièmes différences divisées de la fonction De cette façon, on réduit le nombre d’opérations
f(x) sont définies à partir des (n - 1)-ièmes différences nécessaires à l’évaluation du polynôme. De plus, cette forme
divisées de la façon suivante : est moins sensible aux effets des erreurs d’arrondis.
Il reste maintenant à calculer efficacement la valeur de ce
f x 1 , x 2 ,..., x n − f x 0 , x 1 , x 2 ,..., x n −1 polynôme. La manière la plus simple consiste à construire
f x 0 , x 1 , x 2 ,..., x n = (15) une table dite de différences divisées de la façon suivante.
(x n − x 0 )
Notons que les toutes premières différences divisées de
f(x) (soit les 0es différences) sont tout simplement définies par
f (xi).
Suivant cette notation, on a :
a2 = f x 0 , x 1 , x 2 (16)
Il est facile de démontrer que le polynôme :
p 2 (x ) = f (x 0 ) + f x 0 , x 1 ( x − x 0 ) + f x 0 , x 1 , x 2 La construction de cette table est simple. Nous nous
sommes arrêtés aux troisièmes différences divisées, mais les
(x − x 0 )( x − x 1 ) 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,
passe par les trois premiers points de collocation. On pour obtenir par exemple f [x0, x1, x2], il suffit de soustraire
remarque de plus que ce polynôme de degré 2 s’obtient les 2 termes adjacents f [x1, x2] – f [x0, x1] et de diviser le
simplement par l’ajout d’un terme de degré 2 au polynôme résultat par (x2 - x0). De même, pour obtenir f [x0, x1, x2, x3],
p1 (x) déjà calculé. En raison de cette propriété, cette méthode on soustrait f [x0, x1, x2] de f [x1, x2, x3] et l’on divise le résultat
est dite récursive. par (x3 - x0). La formule de Newton utilise la diagonale
On peut soupçonner à ce stade-ci que le coefficient a3 est: principale de cette table.
Par exemple, La table de différences divisées pour les
a3 = f x 0 , x 1 , x 2 , x 3 points (0 , 1), (1 , 2), (2 , 9) et (3 , 28) est :
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.
Par conséquence, 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 (Eq. 10) ou encore sous la forme récursive :
p n (x ) = p n −1 (x ) + an (x − x 0 )(x − x 1 )...(x − x n −1 ) (17)
Les coefficients de ce polynôme sont les différences
divisées : Suivant la formule de Newton (Eq. 10), avec x0 = 0, le
ai = f x 0 , x 1 , x 2 ,..., x i pour 0 ≤ i ≤ n polynôme de collocation est :
(18)
L’unique polynôme pn (x) passant par les points ((xi, f (xi))
p3 (x ) = 1 + 1(x − 0) + 3(x − 0)(x − 1) + 1(x − 0)(x − 1)(x − 2)
pour i = 0, 1, 2, · · · , n) s’écrit (Lemme) : = x 3 +3
(x − x 0 )
p n (x ) = p n −1 (x ) + (q (x ) − p n −1 (x ) ) (19) qui est le même polynôme (en vertu de l’unicité) que celui
( x n − x 0 ) n −1 obtenu par la méthode de Lagrange. On remarque de plus que
le polynôme :
Une fois les coefficients ai connus, on peut évaluer le
polynôme de Newton au moyen d’un algorithme similaire au p 2 (x ) = 1 + 1(x − 0) + 3(x − 0)(x − 1)
schéma de Horner. On écrit alors le polynôme (10) sous la
forme :
passe quant à lui par les trois premiers points de collocation.
Si l’on souhaite ajouter un point de collocation et calculer
Chapitre 3 : Interpolation
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.
Ce polynôme de degré 4 est alors p4 (x) = p3 (x) – 3/5(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.
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 :
On note que les abscisses xi ne sont pas par ordre
croissant. Le polynôme passant par ces points est :
p 3 (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 (10) 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 :
p 3 (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) p 3 (1) = 1 + (−1)(1 + (1)(0.4 + 1.2( −4))
= 1 + ( −1)(1 − 4.4) = 4.4