Académique Documents
Professionnel Documents
Culture Documents
Chapter3 Interpolation
Chapter3 Interpolation
Interpolation polynômiale
3.1 Introduction
L’interpolation polynômiale, comme les autres méthodes d’approximations, permet, à partir d’un jeu
de N points expérimentaux (xi , yi ), de définir une fonction représentant ces points. Cette fonction
peut être utilisée pour prédire les valeurs de y entre ces points (i.e. pour d’autres valeurs de x) ou
pour effectuer un traitement mathématique plus complexe (intégration, dérivation, convolution,...). On
peut ainsi interpoler des points correspondant à une fonction connue, mais de forme trop complexe
pour être manipulée efficacement.
L’interpolation polynômiale a la particularité d’approximer le nuage de points (xi , yi ) par un polynôme
qui passe par TOUS les points (xi , yi ). Il existe un seul polynôme de degré N − 1 interpolant une série
de N points donnés. On peut en revanche trouver (par exemple à l’aide de la méthode des moindres
carrés) une infinité de polynômes de degré inférieur à N − 1 approximant le nuage en passant entre
les points.
Deux cas de figure peuvent se poser quand on travaille avec des polynômes d’interpolation :
a. On a besoin du polynôme d’interpolation pour estimer la valeur de y pour une valeur de x ∈
/
(xi )i=1,...,N .
b. On cherche les coefficients du polynôme d’interpolation (pour calculer sa dérivée par exemple).
Ce second cas revient à résoudre le système de N équations à N inconnues : suivant :
−1
g(x1 ) = a0 + a1 x1 + a2 x21 + ... + aN −1 xN
1 = y1
−1
g(x2 ) = a0 + a1 x2 + a2 x22 + ... + aN −1 xN
2 = y2
... ...
−1
g(xN ) = a0 + a1 xN + a2 x2N + ... + aN −1 xN
N = yN
Le déterminant de la matrice de cette équation est appelée ’déterminant de van der Monde’. Il est
égal à : Y
∆= (xj − xi ).
1≤i<j≤N
26
Remarque : Si on se base sur N points et que l’on cherche un polynôme d’interpolation de degré M ,
le système s’écrira :
1 x1 x21 ... xM
1 a0 y1
1 x2 x22 M
... x2 a1
y2
=
... ,
... ... ... ... ... ...
1 xN x2N ... xM
N aM yN
où la matrice comportera N lignes et M + 1 colonnes.
Si M + 1 > N alors le système n’a aucune solution.
Si M + 1 = N alors le système a une solution (système de Cramer).
Si M + 1 < N alors le système a une infinité de solutions (système surdéterminé). On pourra utiliser
la méthode des moindres carrés (c.f. chapı̂tre 2) pour trouver une solution appropriée.
Dans la prochaine section, on proposera une méthode (il y en a d’autres) pour rechercher des coefficients
du polynôme. Dans celle d’après, on traitera le cas de la recherche d’une valeur approximative.
P1 (x) = ax + b
= ax + (y1 − ax1 )
= a(x − x1 ) + y1
y2 − y1
= (x − x1 ) + y1
x2 − x1
x − x2 x − x1
P1 (x) = y1 + y2
x1 − x2 x2 − x1
C’est l’expression du polynôme d’interpolation sous la forme de Lagrange.
P2 (x) = ax2 + bx + c
27
On démontre alors facilement que
(x − x2 )(x − x3 ) (x − x1 )(x − x3 ) (x − x1 )(x − x2 )
P2 (x) = y1 + y2 + y3
(x1 − x2 )(x1 − x3 ) (x2 − x1 )(x2 − x3 ) (x3 − x1 )(x3 − x2 )
PN −1 (x) est appelé polynôme de Lagrange. On appelle polynôme de Lagrange associé au point (xi , yi ),
le polynôme suivant :
N
Y x − xj
Li (x) = . (3.6)
xi − xj
j=1;j6=i
Le polynôme de Lagrange interpolant les N points s’exprime alors par une combinaison linéaire des
N Li (x) :
N
X
PN −1 (x) = yi Li (x) (3.7)
i=1
Pour exprimer le polynôme d’interpolation sous la forme de Lagrange, il faut définir les polynômes
associés à chacun des points, Li (x). Par exemple pour la série de points suivante :
x 0 1 2
y 2.6 2.7 2.9
(x − x2 )(x − x3 ) (x − 1)(x − 2) 1 3
L1 (x) = = = x2 − x + 1
(x1 − x2 )(x1 − x3 ) (0 − 1)(0 − 2) 2 2
(x − x1 )(x − x3 ) (x − 0)(x − 2)
L2 (x) = = = −x2 + 2x
(x2 − x1 )(x2 − x3 ) (1 − 0)(1 − 2)
(x − x1 )(x − x2 ) (x − 0)(x − 1) 1 1
L3 (x) = = = x2 − x
(x3 − x1 )(x3 − x2 ) (2 − 0)(2 − 1) 2 2
Remarque : les polynômes Li (x) ne dépendent que de la coordonnée x des points, pas de la valeur de
y.
28
3.2.4 Notation matricielle
Si on exprime les Li (x) sous la forme d’une combinaison linéaire de monômes :
Li (x) = M0,i + M1,i x + M2,i x2 + ... + MN −1,i xN −1 , (3.8)
on peut exprimer le polynôme de Lagrange sous forme matricielle :
N
X →
− ← →→−
PN −1 (x) = yi Li (x) = X T M Y (3.9)
i=1
←
→
où M est la matrice d’interpolation de Lagrange :
M0,1 M0,2 ... M0,N
←→ M1,1 M1,2 ... M1,N
M =
... ... ... ...
MN −1,1 MN −1,2 ... MN −1,N
1 y1
→
− x →
−
y2
et X = ... Y = ...
xN −1 yN
La notation matricielle a le mérite :
– d’être facile à gérer informatiquement
– de permettre de manier de gros systèmes (N élevé) facilement
– de permettre d’obtenir facilement les coefficients du polynômes d’interpolation exprimé sous forme
d’une combinaison linéaire de monômes PN −1 (x) = a0 + a1 x + a2 x2 + ... + aN −1 xN −1 .
a0
→
− a1 ← →→
−
A = ... = M Y
(3.10)
aN −1
– on peut facilement dériver et intégrer le polynôme à partir de cette notation
29
1 0 0 0 0
1 0 0 0 −25/12 4 −3 4/3 −1/4
←
→ −11/6 3 −3/2 1/3 ←
→
M4 = M5 = 35/24 −13/3 19/4 −7/3 11/24
1 −5/2 2 −1/2
−5/12 3/2 −2 7/6 −1/4
−1/6 1/2 −1/2 1/6
1/24 −1/6 1/4 −1/6 1/24
Si on reprend l’exemple de la section précédente :
x 0 1 2
y 2.6 2.7 2.9
on obtient :
a0 1 0 0 2.6 2.6 2.6
→
− ←
→ →
−
A = a1 = M Y = −3/2 2 −1/2 2.7 = −3.9 + 5.4 − 1.45 = 0.05
a2 1/2 −1 1/2 2.9 1.3 − 2.7 + 1.45 0.05
Dans le cas où les points expérimentaux sont régulièrement espacés mais différents de [0 1 2...N-1],
(par exemple [4 9 14 19]) :
– on estime le pas entre les points h = xi+1 − xi (dans l’exemple : h = 5)
– pour chaque point, on fait le changement de variable Xi = (xi − x1 )/h (dans l’exemple : Xi =
(xi − 4)/5). Les coordonnées Xi correspondent alors aux points utilisés pour définir les matrices
régulières de Lagrange (i.e.
[0 1 ... N-1]).
1
X
→
− 2
– on définit le vecteur X h = X
.
...
X N −1
– on utilise les matrices régulières de Lagrange pour trouver le polynôme interpolant exprimé en
fonction de X :
− ←
→ → → −
PN −1 (X) = X Th M N Y
– on peut remplacer, dans cette expression, X par sa valeur X = (x − x1 )/h pour obtenir PN −1 en
fonction de la coordonnée initiale.
L’intérêt de la méthode de Lagrange pour trouver le polynôme d’interpolation est que
– si les points sont régulièrement espacés, les matrices de Lagrange sont données et le calcul est très
rapide
– les polynômes de Lagrange sont utilisés en traitement du signal et pour l’intégration numérique (c.f.
chapı̂tre 5).
On souhaite trouver une valeur approchée de y pour x = X. Le calcul de PN −1 (X) utilisant la formule
ci-dessus nécessite N − 1 additions et (N − 1)N/2 multiplications.
Remarque : (N − 1) + (N − 2) + ... + 1 = (N − 1)N/2 se démontre par récurrence.
30
Le schéma de Horner est un algorithme permettant de faire ce calcul avec seulement N − 1 additions
et N − 1 multiplications. Il suffit de réécrire PN −1 (x) sous la forme :
L’algorithme de Horner donne à chaque itération k une estimation de PN −1 (X) notée pk . Il consiste
à :
– ranger les ak par ordre décroissant
– attribuer à p0 la valeur de aN −1
– calculer les autres pk par récurrence pk+1 = pk ∗ X + aN −k−2
La solution est alors égale à P (X) = pN −1 .
Par exemple, si on cherche la valeur du polynôme P (x) = 2x4 − 5x3 + x2 − 7x + 6 pour x = 2,
l’algorithme de Horner s’illustre de la manière suivante :
a4 =2 a3 =-5 a2 =1 a1 =-7 a0 =6
+ + + +
p0 =2 p1 =-1 p2 =-1 p3 =-9 p4 =-12
*2 *2 *2 *2
– si toutes les différences finies d’ordre 1 que l’on peut calculer à partir des points expérimentaux
(f [x1 , x2 ], f [x2 , x3 ], ..., f [xN −1 , xN ]) sont égales à quelques pourcents près, alors l’approximation
d’ordre 1 peut être considérée comme valable.
31
– si on souhaite une meilleure précision, on calcule l’approximation d’ordre 2, en utilisant le troisième
point le plus proche de X (xt ) :
– on peut estimer la validité du modèle d’ordre deux en vérifiant que toutes les différences finies
d’ordre 2 concernant les points expérimentaux sont égales à quelques pourcents près.
(0)
y (1) (X) y (X)
y (2) (X) x
xt xp X xd xq xc
On rappelle qu’il n’existe qu’un seul polynôme d’ordre N − 1 interpolant N points. Donc cette formu-
lation conduit exactement au même polynôme que celui obtenu sous la forme de Lagrange.
d’où
N
X i−1
Y
P (x) = f [x1 , ..., xi ] (x − xj )
1 j=1
32
3.4 Conclusions
L’interpolation polynômiale est une méthode d’approximation d’un nuage de points. On l’utilise quand
on n’a pas d’idée à priori du modèle mathématique sous-jacent (sinon, on utilise de préférence une
méthode de fit du type moindres-carrés). On utilise des polynômes pour l’interpolation car ce sont des
fonctions faciles à traiter informatiquement, et elles sont simples à dériver/intégrer.
L’interpolation polynômiale d’un grand nombre de points (ie. avec un polynôme de haut degré), peut
présenter des oscillations. C’est le phénomène de Runge. Il se produit notamment quand on tente d’in-
terpoler une fonction de type fraction rationelle de x par un polynôme. Pour l’éviter, il est préférable
d’effectuer une interpolation par splines, i.e. des polynômes (généralement cubiques) différents entre
chaque paire de points.
33