Chapitre 2
Interpolation polynomiale
2.1 Intoduction générale
En analyse numérique, une fonction f inconnue explicitement est souvent connue seule-
ment en certains points x0 , x1 , ..., xd ; ou évaluable uniquement au moyen de l’appel à un
code couteux. Mais dans de nombreux cas, on a besoin d’effectuer des opérations (déri-
vation, intégration,...) sur la fonction f . On cherche donc à reconstruire f par une autre
fonction fr simple et facile à évaluer à partir des données discrètes de f . On espère que le
modèle fr ne sera pas trop éloigné de la fonction f aux autres points.
On s’intéresse à utiliser les interpolations polynomiales à cause de la simplicité de léeva-
luation des polynômes (le shéma de Horner), le fait que les fonctions continues peuvent
être approximées par des polynômes (Théorème de Weierstrass).
Problématique A partir des valeurs d’une fonction f données en certains points x0 , ..., xn ,
on souhaite :
15
16 Interpolation polynomiale
- Proposer des algorithmes permettant de construire une fonction P qui interpole f aux
points x0 , ..., xn , c’est-à-dire telle que P (xi ) = f (xi ) pour i = 0, ..., n.
- Evaluer s’il s’agit d’une bonne approximation.
2.2 Polynôme de Lagrange
Soient (n + 1) points distincts, y0 , ....yn sont les images de x0 , ..., xn , respectivement,
par une fonction f . La forme générale du polynôme Pn (x) qui coincide avec les points
d’interpolation est la suivante :
n n
X Y x − xj
Pn (x) = [yi .Li (x)], avec : Li (x) = ( ), (2.1)
i=0 j=0
x i − x j
j6=
Li (x) sont dits coefficients polynômes de Lagrange, ils ont la propriété [Li (xi ) = 1 ;
Li (xj ) = 0 pour i 6= j] (cela veut dire qu’ils sont orthogonaux).
xi 0 1 8
Exemples 2.2.1 On se donne le tableau de mesure suivant : Le
yi = f (xi ) 0 1 2
tableau contient trois mesures donc le polynôme d’interpolation sera de degré deux. Il
s’écrit de la forme :
2
X
P2 (x) = [yi .Li (x)] = y0 .L0 (x) + y1 .L1 (x) + y2 .L2 (x). (2.2)
i=0
Cherchons les ceofficients de Lagrange (Li (x), i = 0, ..., 2) :
2.2 Polynôme de Lagrange 17
1- Pour i = 0, L0 (x) = ( xx−x 1
0 −x1
).( xx−x 2
0 −x2
) = 18 (x − 8)(x − 1).
−1
2- Pour i = 1, L1 (x) = ( xx−x 0
1 −x0
).( xx−x 2
1 −x2
)= 7
.x.(x − 8).
3- Pour i = 2, L2 (x) = ( xx−x 0
2 −x0
)( xx−x 1
2 −x1
)= 1
56
.x.(x − 1).
D’aprés léquation (2.2), on a
1 −1 1
P2 (x) = y0 (x − 8)(x − 1) + y1 .x.(x − 8) + y2 .x.(x − 1),
8 7 56
alors,
−1 1
P2 (x) = .x.(x − 8) + 2. .x.(x − 1),
7 56
ce qui donne
−3 2 31
P2 (x) = .x + .x.
28 28
√
Si on connaît la fonction d’origine qui a donné naissance à ces 03 points (xi , yi ) ,f (x) = 3
x,
on peut calculer l’erreur absolue et relative comme suit :
L’évaluaion des résultas, léfficacité de la méthode d’interpolation, ainsi le choix des
points (xi , yi ) dépendent du pourcentage de l’erreur relative. Par exemple, l’interpolation
3
est considérée comme parfaite, si plus de 4
des erreurs calculées sont de valeurs moins
de 5%. Or, si les valeurs sont entre 5% et 15%, la méthode peut être considérée comme
18 Interpolation polynomiale
largement réussie.
Algorithme (Polynôme de Lagrange)
2.3 Polynôme de Newton
La forme générale du polynôme de Newton est
Pn (x) = α0 + α1 (x − x0 ) + α2 (x − x0 )(x − x1 ) + ... + αn (x − x0 )(x − x1 )...(x − xn ),
avec
α0 = f [x0 ] = y0 ,
f [x1 , ..., xk ]f [x0 , ..., xk−1 ]
αk = f [x0 , ..., xk ] =
xk − x0
Exemples 2.3.1 L’exemple est un cas général à cinq points
2.3 Polynôme de Newton 19
xi x0 x1 x2 x3 x4
yi y0 y1 y2 y3 y4
Le polynôme de Newton sera de degré 04. On a
α0 = f [x0 ] = y0 avec : f [x1 ] = y1 , ..., f [xn ] = yn .
f [x1 ]−f [x0 ]
α1 = f [x0 , x1 ] = x1 −x0
f [x2 ]−f [x1 ]
.......f [x1 , x2 ] = x2 −x1
f [x3 ]−f [x2 ]
.......f [x2 , x3 ] = x3 −x2
f [x4 ]−f [x3 ]
.......f [x3 , x4 ] = x4 −x3
f [x1 ,x2 ]−f [x0 ,x1 ]
α2 = f [x0 , x1 , x2 ] = x2 −x0
f [x2 ,x3 ]−f [x1 ,x2 ]
.......f [x1 , x2 , x3 ] = x3 −x1
f [x3 ,x4 ]−f [x2 ,x3 ]
.......f [x2 , x3 , x4 ] = x4 −x2
f [x1 ,x2 ,x3 ]−f [x0 ,x1 ,x2 ]
α3 = f [x0 , x1 , x2 , x3 ] = x3 −x0
f [x2 ,x3 ,x4 ]−f [x1 ,x2 ,x3 ]
.......f [x1 , x2 , x3 , x4 ] = x4 −x1
f [x1 ,x2 ,x3 ,x4 ]−f [x0 ,x1 ,x2 ,x3 ]
α4 = f [x0 , x1 , x2 , x3 , x4 ] = x4 −x0
.
Finalement le polynôme de Newton s’écrit comme suit ;
P4 (x) = α0 + α1 .(x − x0 ) + α2 .(x − x0 )(x − x1 ) + α3 .(x − x0 ).(x − x1 ).(x − x2 ) + α1 .(x −
x0 ).(x − x1 ).(x − x2 ).(x − x3 ).
Exemples 2.3.2 (Exemple numérique)
xi 0.1 0.2 0.3 0.4 0.5
yi 1.40 1.56 1.76 2.00 2.28
Le polynôme de Newton sera de degré 04. On a
α0 = f [x0 ] = 1.40
1.56−1.40
α1 = f [x0 , x1 ] = 0.2−0.1
= 1.60
1.76−1.56
.......f [x1 , x2 ] = 0.3−0.2
= 2.00
2.00−1.76
.......f [x2 , x3 ] = 0.4−0.3
= 2.40
20 Interpolation polynomiale
2.28−2.00
.......f [x3 , x4 ] = 0.5−0.4
= 2.80
2.00−1.60
α2 = 0.3−0.1
= 2.00
2.40−2.00
.......f [x1 , x2 , x3 ] = 0.4−0.2
= 2.00
2.80−2.40
.......f [x2 , x3 , x4 ] = 0.5−0.3
= 2.00
2.00−2.00
α3 = f [x0 , x1 , x2 , x3 ] = 0.4−0.1
= 0.00
2.00−2.00
.......f [x1 , x2 , x3 , x4 ] = 0.5−0.2
= 0.00
0.00−0.00
α4 = f [x0 , x1 , x2 , x3 , x4 ] = 0.5−0.1
= 0.00
Finalement le polynôme de Newton s’écrit comme suit ;
P4 (x) = 1.40 + 1.60.(x − 0.1) + 2.00.(x − 0.1)(x − 0.2) + 0.(x − 0.1).(x − 0.2).(x − 0.3) +
0.(x − 0.1).(x − 0.2).(x − 0.3).(x − 0.4),
ce qui donne
P4 (x) = 2.x2 + x + 1.64.
Choix des points servant à l’interpolation :
1)- Si les points (xi , yi ) sont suffisamment nombreuses et les abscisses xi sont triées
en ordre croissant, suffisamment proches entre-elles et équitablement distants les
uns des autres, l’interpolation est considérée comme très satisfaisante en terme de
précision dans l’intervalle [a, b] = [x0 , xn ].
2)- Hors intervalle de satisfaction, la précision diminue considérablement dès l’éloi-
gnement de b à droite et l’éloignement de a à gauche.
3)- Si on dispose de la fonction analytique f (x) source de ces points, le nombre "conve-
nable" de points n pris de cette fonction pour une approximation polynomiale
"linéaire" est lié à la précision εa prédéfinie comme suit :
s
(b − a)2
n≥ .maxx∈[a,b] |f 00 (x)|. (2.3)
2.εa
Exemples 2.3.3 Soit la fonction f (x) = sin(x) évaluée dans l’intervalle [0, π2 ]
avec une précision εa = 10−3 .
2.3 Polynôme de Newton 21
q
( π2 −0)2
On a f 00 (x) = −sin(x) → n ≥ 2.εa
.1 → n ≥ 35.124 → n = 36.
Donc, il faut au moins 37 points (xi , f (xi )) pour obtenir un polynôme linéaire
(a1 .x + a0 ) qui représente bien la fonction f (x) avec une tolérance de 10−3 .
4)- Pour une meilleure approximation polynomiale "de degré n" d’une fonction analy-
tique f (x), le nombre de points requis avec une précision de εa = 10−m sera calculé
par l’inéquation suivante :
( b−a )n+1
maxx∈[a,b] |f (x) − Pn (x)| ≤ n
.maxx∈[a,b] |f (n+1) (x)| ≤ εa .
(n + 1)!