Interpolation
Interpolation
Interpolation
1 GÉNERALITÉS
Le problème de l’interpolation peut se poser dans plusieurs situations. Par
exemple:
1- Une fonction f n’est pas complètement définie. On connait simplement un
nombre fini de ses valeurs sur un intervalle [a, b], (par exemple des données
expérimentales) x1 , x2 , . . . , xn+1 supposés tels que:
On peut alors vouloir déterminer une fonction ϕ, définie sur tout l’intervalle
[a, b] et constituant une certaine “approximation de f ” (dans un sens à
préciser). Il est alors souhaitable que ϕ(x) soit numériquement facile à
évaluer
2- f (x) est connu pour tout x, mais son évaluation numérique est complexe.
On peut alors vouloir déterminer une fois pour toutes un nombre fini de
valeurs
f (x1 ), f (x2 ), . . . , f (xn ), f (xn+1 )
et pour tout
x 6= x1 , x2 , . . . , xn , xn+1
approcher f (x) en fonction de ces valeurs.
Cadre général de l’interpolation: Chercher une fonction ϕ(appelé l’interpolant),
d’un type préalablement choisi qui interpole f sur [a, b], c’est déterminer cette
fonction ϕ telle que
Cela signifie d’un point de vue géométrique, qu’il faut trouver une courbe
d’équation y = ϕ(x) et d’un type donné passant par le système de points
Mi = (xi , yi ) i = 1, 2, . . . , n + 1.
1
Le problème ainsi posé peut avoir une infinité de solutions ou ne pas avoir du
tout de solution. Cependant, il admet une solution et une seule si l’on cherche
non pas une fonction quelconque ϕ(x) mais un polynôme de degré inférieur ou
égal à n qui vé rifie (1) et est tel que:
Pn (x1 ) = y1 , Pn (x2 ) = y2 , ......, Pn (xn+1 ) = yn+1 .
Nous obtenons la formule d’interpolation:
y = ϕ(x).
Que nous utiliserons donc pour le calcul approché des valeurs de la fonction
donnée f (x) pour des valeurs de x différentes des points d’interpolation xi , i =
1, ...n + 1.
Remark 1 Si x ∈
/ [x1 ; xn+1 ] on parle d’une extrapolation.
Proposition 2 Si x1 , x2 , . . . , xn+1 sont (n + 1) points distincts de R et si
y1 , y2 , . . . , yn+1 sont (n + 1) réels, alors il existe un et un seul polynôme réel P
de degré inférieur ou égal à n tel que
Pn (x1 ) = y1 , Pn (x2 ) = y2 , ......, Pn (xn+1 ) = yn+1 .
Proof. Tout polynôme réel de degré inférieur ou égal à n s’écrit de manière
unique sous la forme
Pn (x) = a0 xn + a1 xn−1 + ... + an
l’ensemble R [X] de ces polynômes est donc un espace vectoriel réel de dimension
(n + 1). L’application
R [X] → Rn+1
P (x1 )
P 7→
..
.
P (xn+1 )
est linéaire et injective car un polynôme de degré inférieur ou égal à n qui a
(n+1) zéros distincts est nul. Il s’ensuit que cette application est aussi surjective,
d’où la conclusion.
Remark 3 Pour trouver les coéfficients du polynôme Pn (x) c’est-à -dire déterminer
a0 , a1 , ..., an , il suffit de résoudre le système linéaire (de Cramer) suivant:
xn1
1 x1 a0 y1
.. .. .. .. = ..
. . . . .
1 xn+1 xnn+1 an yn+1
La matrice de ce système est une matrice de Vandermonde. Cependant, cette
méthode de détermination des coefficients est peu efficace. On préfère des
méthodes basées sur des formules explicites pour le polynôme Pn (x) telles que
les formules dites de Lagrange et de Newton établies ci-dessous.
2
2 POLYNOME DE LAGRANGE
Soit {x1 , x2 , ...xn+1 }, (n + 1) valeurs distinctes de [a, b] données. On suppose
que que l’on connaisse les valeurs correspondantes de y = f (x) c’est-à-dire on
a:
f (x1 ) = y1 , f (x2 ) = y2 , .....f (xn+1 ) = yn+1 .
Pn+1
On veut construire un polynôme Ln (x) = i=1 pi (x)f (xi ), de degré inférieur
ou égal à n, vérifiant:
Ln (xi ) = yi , i = 1, 2, ...n + 1.
1 si j=i
pi (xj ) = δij =
0 si j 6= i
Où δij est le symbole de Kronecker.
Résolution du problème: Le polynôme à obtenir s’annulant en (n + 1)
points x1 , x2 ..., xi−1 , xi+1 , ..., xn+1 , il s’ecrit donc:
c’est-à-dire:
1
Ci =
(xi − x1 )(xi − x2 )...(xi − xi−1 )(xi − xi+1 )...(xi − xn )
en portant cette valeur dans (2) on obtient:
n+1
(x − x1 )(x − x2 )...(x − xi−1 )(x − xi+1 )...(x − xn ) Y (x − xj )
pi (x) = = .
(xi − x1 )(xi − x2 )...(xi − xi−1 )(xi − xi+1 )...(xi − xn ) j=1
(xi − xj )
j6=i
(3)
Le polynôme Ln (x) qui vérifie les conditions Ln (xi ) = yi , est alors de la forme:
n+1
X
Ln (x) = pi (x)yi (4)
i=1
En effet, d’une part le polynôme Ln (x) ainsi construit est un polyn ôme de degré
inférieur ou égal à n. Et d’autre part comme pi (xj ) = 1 si j = i et 0 sinon, on
a:
n+1
X
Ln (xj ) = pi (xj )yi = pj (xj )yi = yi j = 1, 2, ..., n + 1
i=1
3
En portant la valeur de pi (x) dans (4) tirée de (3) on obtient :
n+1
X (x − x1 )(x − x2 )...(x − xi−1 )(x − xi+1 )...(x − xn )
Ln (x) = yi =(5)
i=1
(xi − x1 )(xi − x2 )...(xi − xi−1 )(xi − xi+1 )...(xi − xn )
n+1 n+1
X Y (x − xj )
= yi .
(xi − xj )
i=1 j=1
j6=i
4
Example 7 Construire le polynôme de Lagrange de la fonction donnée par y =
f (x) = sin πx pour les points x1 = 0, x2 = 61 , x3 = 12 .
Ou
7
L2 (x) = −3x2 + x
2
Example 9 Soit la fonction y = f (x) donnée par le tableau suivant:
x y
321, 0 2, 50651
322, 8 2, 50893
324, 2 2, 51081
325, 0 2, 51188
5
Où h = b−a n représente le pas de la subdivision. Les points d’interpolation
xi sont alors dits équidistants. Dans ce cas, les coefficients de Lagrange peuvent
être simplifiés, en posant:
x = x1 + th
on aura:
t1 = 0, t2 = 1, ...tn = n.
D’où
n+1 n+1
X Y (x1 + th − x1 − (j − 1)h)
ln (t) = yi (7)
((x1 + (i − 1)h) − x1 + (j − 1)h)
i=1 j=1
j6=i
n+1 n+1
X Y (t − j + 1)
= yi
(i − j)
i=1 j=1
j6=i
Les coefficients de ln (t) sont donc indépendants du pas h et des points xi ; ils
peuvent être représentés dans une table.
x 5, 0 5, 1 5, 2 5, 3 5, 4 5, 5 5, 6 5, 7
y 0, 283662 0, 377977 0, 468516 0, 554374 0, 634692 0, 708669 0, 775565 0, 834712
t 1 2 3 4 5 6 7 8
Solution 12 Posons
x = 0, 1t + 5
Les valeurs de la nouvelle variable t associées aux points d’interpolation seront
alors:
t = 0, 1, 2, 3, 4, 5, 6, 7
Il faut donc trouver la valeur de y pour x = 5, 34, c’est-à-dire pour t = 3, 47, les
points étant équidistants, on a donc:
8 8
X Y (3, 47 − j + 1)
ln (3, 47) = yi
(i − j)
i=1 j=1
j6=i
= 0, 592864
6
3 ESTIMATION DE L’ERREUR DANS L’INTERPOLATION
DE LAGRANGE
Soit Ln (x) le polynôme de Lagrange qui interpole la fonction y = f (x) aux
points {x1 , x2 ...., xn+1 } c’est-à -dire qui vérifie:
x1 , x2 , .....xn
Choisissons k de sorte que g(x) ait une (n+2)ième racine en un point quelconque
fixé x̃ de [a, b], autre que les points d’interpolation. Il suffit pour cela de poser
D’où
f (x̃) − Ln (x̃)
k= (8)
(x̃ − x1 )(x̃ − x2 )......(x̃ − xn )
car x̃ n’est pas un point d’interpolation. Pour cette valeur de k, la fonction g(x)
admet (n + 2) racines sur [a, b] et elle s’annule aux extrémités de chacun des
intervalles suivants:
[x1 , x2 ] , [x2 , x3 ] , ... [xi , x̃] , [x̃, xi+1 ] , ... [xn , xn+1 ] ,
7
Pour x = ξ on obtient:
0 = f (n+1) (ξ) − k(n + 1)!
Donc
f (n+1) (ξ)
k= (9)
(n + 1)!
En identifiant les équations (8) et (9) on obtient:
f (x̃) − Ln (x̃) f (n+1) (ξ)
=
(x̃ − x1 )(x̃ − x2 )......(x̃ − xn ) (n + 1)!
C’est-à-dire
f (n+1) (ξ)
f (x̃) − Ln (x̃) = (x̃ − x1 )(x̃ − x2 )......(x̃ − xn+1 ) (10)
(n + 1)!
Comme x̃ est complètement arbitraire, l’équation (10) s’écrit:
f (n+1) (ξ)
Rn (x) = f (x) − Ln (x) = (x − x1 )(x − x2 )......(x − xn+1 ) (11)
(n + 1)!
Où ξ ∈ [a, b] dépend de x.
Remark 13 L’équation (11) est vraie pour tout point de [a, b], y compris les
points d’interpolation. En posant
Mn+1 = max f (n+1) (x)
x∈[a,b]
8
4 POLYNOME DE NEWTON
4.1 Différences finies
Definition 16 Soit y = f (x) une fonction donnée. On pose ∆x = xi+1 −xi = h
une valeur fixée de l’accroissement de x. On appelle différence d’ordre un de la
fonction y l’expression:
∆n y = ∆(∆n−1 y) (n = 2, 3, .....)
Proof. En effet, on a:
En utilisant la formule du binôme de Newton, on voit que ∆f (x) = ∆Pn (x) est
un polynôme de degré (n − 1):
Où
b0 = nha0
Suivant le même raisonnement la différence seconde ∆2 f (x) = ∆2 Pn (x) est un
polynôme de degré (n − 2) :
et
c0 = (n − 1)hb0 = n(n − 1)h2 a0
9
En raisonnant ainsi on établit de proche en proche que
∆n f (x) = ∆n Pn (x) = n!hn a0
D’où l’on conclut
∆m f (x) = ∆m Pn (x) = 0 pour m > n
10
Remark 26 Les différences divisées sont symétriques de leurs arguments, c’est-
à-dire que les différences divisées ne changent pas avec la permutation des
éléments. Plus précisément, pour toute permutation σ de {1, 2...., k} on a
f xσ(1) , xσ(2) , ...xσ(k) = f [x1 , x2 , ...xk ]
y2 −y1 y1 −y2
Example 27 f [x1 , x2 ] = x2 −x1 = x1 −x2 = f [x2 , x1 ]
Proof. L’idée est de construire une fonction polynôme qui interpole f sur
{x1 , x2 ...., xk+1 }; puis on identifie les deux expressions disponibles de son coef-
ficient dominant. Soit p défini par
x − x1 xk+1 − x
p(x) = qk (x) + pk (x)
xk+1 − x1 xk+1 − x1
comme (qk ) et (pk ) sont des polynômes d’interpolation sur {x2 , x3 ...., xk+1 } et
{x1 , x2 ...., xk } respectivement, l’égalité cherché e en découle.
Remark 29 Les différences divisées forment généralement un tableau du type
11
suivant:
x f (x) Différences divisées
Ordre 1 Ordre 2 Ordre 3 Ordre 4
x1 f [x1 ]
f [x1 , x2 ]
x2 f [x2 ] f [x1 , x2 , x3 ]
f [x2 , x3 ] f [x1 , x2 , x3 , x4 ]
x3 f [x3 ] f [x2 , x3 , x4 ] f [x1 , x2 , x3 , x4 , x5 ]
f [x3 , x4 ] f [x2 , x3 , x4 , x5 ]
x4 f [x4 ] f [x3 , x4 , x5 ]
f [x4 , x5 ]
x5 f [x5 ]
x y Différences divisées
Ordre 1 Ordre 2 Ordre 3 Ordre 4
0 132, 651
81, 13
0, 2 148, 877 15, 8
85, 87 1
0, 3 157, 464 16, 2 0
89, 11 1
0, 4 166, 375 16, 7 0
95, 79 1
0, 7 195, 112 17, 3
104, 44
0, 9 216, 000
TON:
On a par définition
y1 − y f (x) − f (x1 )
f [x, x1 ] = = ,
x1 − x x − x1
donc
f (x) = f (x1 ) + (x − x1 ) f [x, x1 ]
12
et
f [x, x1 ] − f [x1 , x2 ]
f [x, x1 , x2 ] =
x − x2
donc
13
Où
x − x1
k= et ∆y1 = y2 − y1; ∆2 y1 = ∆y2 − ∆y1,
h
et
hn+1 k(k − 1)...(k − n) (n+1) k(k − 1)...(k − n) n+1
Rn (x) = f (ξx ) ' ∆ y1 ; ξx ∈ [x, xi ]
(n + 1)! (n + 1)!
Example 34 Sachant que sin 26◦ = 0, 43837; sin 27◦ = 0, 45399 et sin 28◦ =
0, 46947, calculer sin 26◦ 150 .
i xi yi ∆yi ∆2 y i
1 26 0, 43837
0, 01562
2 27 0, 45399 −0, 00014
0, 01548
3 28 0, 46947
15750 −1560 0
comme h = 600 et k = 60 = 1
4 donc
1 1
1 ( − 1)
sin 26◦ 150 = 0, 43837 + .0, 01562 + 4 4 (−0, 00014) = 0, 44229.
4 2
L’erreur
1 1
− 1)( 41 − 2) π
4(4
|R2 (x)| ≤ ( ) ' 0, 2510−6
3! 180
car comme y = sin x alors y (n) ≤ 1.
h= max |xk+1 − xk |
h∈{1,...,n}
Comme le second membre tend vers zéro avec h, on peut donc rendre
aussi petit que l’on veut (avec h suffisamment petit). Ceci montre que l’interpolation
polynomiale peut être utilisée pour approcher les valeurs de f (x).
14
Remark 37 La remarque précédente n’est en général pas vraie, même si f est
très régulière sur [a, b]. Dans le cas o ù xk+1 − xk ne dépend pas de k, c’est là
ce qu’on appelle le phénomène de Runge. Par exmple si
1
f (x) =
1 + 25x2
et si [a, b] = [−1, 1], on peut montrer que le polyn ôme Pn (x) interpolant f (x)
aux points
2k
xk = −1 + , (k = 1, ..., n + 1),
n
ne tend pas vers f lorsque n → ∞.
15