Académique Documents
Professionnel Documents
Culture Documents
Avril 2020
Plan
1 Introduction
2 Matrice de Vandermonde
3 Interpolation de Lagrange
4 Polynôme de Newton
5 Erreur d’interpolantion
6 Splines cubiques
Proposition
Par (n + 1) points de collocation (xi , f (xi )) pour 0 ≤ i ≤ n, on ne peut
faire correspondre qu’un et un seul polynôme de degré n :
n
X
pn (x) = a0 + a1 x + . . . + an x n = ai x i , an 6= 0. (1)
i=0
Remarque
La proposition précédente établit en fait l’unicité du polynôme
d’interpolation passant par (n + 1) points de collocation donnés. Il reste à
assurer l’existence, ce qu’on fera tout simplement en le construisant au
moyen de méthodes diverses.
Plan
1 Introduction
2 Matrice de Vandermonde
3 Interpolation de Lagrange
4 Polynôme de Newton
5 Erreur d’interpolantion
6 Splines cubiques
1 x0 x02 . . . x0n
a0 f (x0 )
1 x1 x 2 . . . x n a1 f (x1 )
1 1
.. .. = . (2)
.. .. .. . . ..
. . . . . . .
1 xn x1n . . . xnn an f (xn )
Remarque
La matrice de ce système linéaire porte le nom de matrice de
Vandermonde. Comme le révèlent les sections suivantes, il n’est pas
nécessaire de résoudre un système linéaire pour calculer un polynôme
d’interpolation. Cette méthode est donc rarement utilisée.
Exemple. Calculer le polynôme passant par les points (0, 1), (1, 2), (2, 9)
et (3, 28). Etant donné ces 4 points, le polynôme recherché est au plus de
degré 3 et ses coefficients ai sont solution de :
1 0 0 0 a0 1
1 1 1 1 a1 2
1 2 4 8 a2 = 9
1 3 9 27 a3 28
>
. Ainsi p3 (x) = 1 + x 3 .
dont la solution est 1 0 0 1
Plan
1 Introduction
2 Matrice de Vandermonde
3 Interpolation de Lagrange
4 Polynôme de Newton
5 Erreur d’interpolantion
6 Splines cubiques
Li (xi ) = 1, ∀ i
Li (xj ) = 0, ∀ j 6= i (3)
Exemple. L’équation de la droite passant par les points (2, 3) et (5, −6)
est :
(x − 5) (x − 2)
3 + (−6) = −(x − 5) − 2(x − 2) = −3x + 9.
(2 − 5) (5 − 2)
(x − x1 ) (x − x2 )
L0 (x) = .
(x0 − x1 ) (x0 − x2 )
(x − x0 ) (x − x2 ) (x − x0 ) (x − x1 )
L1 (x) = et L2 (x) = .
(x1 − x0 ) (x1 − x2 ) (x2 − x0 ) (x2 − x1 )
Exemple. La parabole passant par les points (1, 2), (3, 7) et (4, −1) est
donnée par :
(x − x1 ) (x − x2 ) . . . (x − xn )
L0 (x) = .
(x0 − x1 ) (x0 − x2 ) . . . (x0 − xn )
On remarque qu’il y a n facteurs de la forme (x − xi ) dans cette expression
et qu’il s’agit d’un polynôme de degré n. Pour la fonction L1 (x), on pose
(x − x0 ) (x − x2 ) . . . (x − xn )
L1 (x) = .
(x1 − x0 ) (x1 − x2 ) . . . (x1 − xn )
(x − x0 ) . . . (x − xi−1 ) (x − xi+1 ) . . . (x − xn )
Li (x) = (4)
(xi − x0 ) . . . (xi − xi−1 ) (xi − xi+1 ) . . . (xi − xn )
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 la collocation.
Théorème
Étant donné (n + 1) points d’interpolation (xi , f (xi )) pour 0 ≤ i ≤ n,
l’unique polynôme d’interpolation de degré n passant par ces points peut
s’écrire
X n
pn (x) = f (xi ) Li (x). (5)
i=0
Exemple. Reprenons les points (0, 1), (1, 2), (2, 9) et (3, 28), pour
lesquels on a obtenu le polynôme p3 (x) = x 3 + 1 à l’aide de la matrice de
Vandermonde. L’interpolation de Lagrange donne dans ce cas
(x − 1)(x − 2)(x − 3)
p3 (x) = − + x(x − 2)(x − 3)
6
x(x − 1)(x − 3) x(x − 1)(x − 2)
−9 + 14
2 3
qui est l’expression du polynôme de degré 3 passant par les 4 points
donnés. Cette expression n’est autre que p3 (x) = x 3 + 1. L’interpolation
de Lagrange ne fait qu’exprimer le même polynôme différemment.
Le polynôme calculé permet d’obtenir une approximation de la fonction
inconnue f (x) dans l’intervalle [0, 3]. Ainsi, on a
Remarque
La méthode d’interpolation de Lagrange présente un inconvénient majeur;
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 de
collocation), on doit reprendre tout le processus de zéro.
Plan
1 Introduction
2 Matrice de Vandermonde
3 Interpolation de Lagrange
4 Polynôme de Newton
5 Erreur d’interpolantion
6 Splines cubiques
pn (x) = a0
+a1 (x − x0 )
+a2 (x − x0 ) (x − x1 ) (6)
..
.
+an−1 (x − x0 ) (x − x1 ) . . . (x − xn−2 )
+an (x − x0 ) (x − x1 ) . . . (x − xn−1 ) .
a0 = f (x0 ) . (7)
f (x1 ) − f (x0 )
a1 = .
x1 − x0
Définition
On définit les premières différences divisées de la fonction f (x) par
f (xi+1 ) − f (xi )
f [xi , xi+1 ] = . (8)
xi+1 − xi
a1 = f [x0 , x1 ] . (9)
Remarque
On vérifie ainsi que p1 (x) = f (x0 ) + f [x0 , x1 ] (x − x0 ) est l’unique
polynôme de degré 1 qui passe par les deux points de collocation
(x0 , f (x0 )) et (x1 , f (x1 )).
En isolant a2 , on obtient
1 f (x2 ) − f (x0 ) (x2 − x0 )
a2 = − f [x0 , x1 ]
(x2 − x0 ) (x2 − x1 ) (x2 − x1 )
1 f (x2 ) − f (x1 ) f (x1 ) − f (x0 ) (x1 − x0 )
= +
(x2 − x0 ) (x2 − x1 ) (x1 − x0 ) (x2 − x1 )
(x2 − x0 )
−f [x0 , x1 ]
(x2 − x1 )
1 (x1 − x0 ) (x2 − x0 )
= f [x1 , x2 ] + f [x0 , x1 ] −
(x2 − x0 ) (x2 − x1 ) (x2 − x1 )
f [x1 , x2 ] − f [x0 , x1 ]
= .
(x2 − x0 )
On en arrive donc à une expression qui fait intervenir une différence divisée
de différences divisées.
Définition
Les deuxièmes différences divisées de la fonction f (x) sont définies à partir
des premières différences divisées par la relation
Remarque
Il est facile de vérifier que le polynôme
Théorème
L’unique polynôme de degré n passant par les (n + 1) points de collocation
(xi , f (xi )), 0 ≤ i ≤ n, peut s’écrire selon la formule d’interpolation de
Newton (6) ou encore sous la forme récursive
Remarque
Une fois les coefficients ai connus, on peut évaluer le polynôme de Newton
de la façon suivante; le polynôme (6) s’écrit sous la forme de Horner
suivante
On note que les abscisses xi ne sont pas par ordre croissant. Le polynôme
passant par ces points est
La fonction inconnue f (x) peut alors être estimée par ce polynôme. Ainsi
Plan
1 Introduction
2 Matrice de Vandermonde
3 Interpolation de Lagrange
4 Polynôme de Newton
5 Erreur d’interpolantion
6 Splines cubiques
Remarque
On suppose que les données des points (xi , f (xi )) sont exactes, ce qui
n’est pas toujours le cas. En effet, si ces données proviennent de mesures
expérimentales, elles peuvent être entachées d’erreur de mesure.
Théorème
Soit x0 < x1 < . . . < xn , des points de collocation. On suppose que la
fonction f (x) est définie dans l’intervalle [x0 , xn ] et qu’elle est (n + 1) fois
dérivable dans ]x0 , xn [. Alors, pour tout x ∈ [x0 , xn ], il existe ξ(x) ∈ ]x0 , xn [
tel que
f (n+1) (ξ(x))
En (x) = (x − x0 ) (x − x1 ) . . . (x − xn ) . (16)
(n + 1)!
Commentaires
On constate que En (xi ) = 0, 0 ≤ i ≤ n. L’erreur d’interpolation est
nulle aux points de collocation.
La fonction a priori inconnue f (x) apparaı̂t par l’entremise de sa
dérivée (n + 1) évaluée au point ξ(x), également inconnu et qui varie
avec x.
Un développement de Taylor assure l’existence d’un point ξ(x)
permettant d’évaluer l’erreur mais que l’on ne peut généralement pas
déterminer.
Puisque le terme d’erreur en un point x fait intervenir des coefficients
de la forme (x − xi ), il y a tout intérêt à choisir les points xi qui sont
situés le plus près possible de x. Ce choix est utile lorsqu’un grand
nombre de points de collocation sont disponibles et qu’il n’est pas
nécessaire de construire un polynôme passant par tous les points.
Cela permet de minimiser l’erreur.
Remarque
L’expression analytique du terme d’erreur nous impose de choisir les points
d’interpolation les plus près du point x où l’on veut interpoler. Cela s’est
avéré souhaitable dans l’exemple précédent et est en fait une régle
générale.
Exemple. Soit les points (1, 1), (3, 1.732051), (7.5, 2.738613),
(9.1, 3.016620) et (12, 3.464102). Si on veut interpoler la fonction
inconnue f (x) en x = 8, il est utile de construire une table de différences
divisées.
√
La fonction interpolée est f (x) = x, qui prend la valeur de 2.828427125
en x = 8. On constate donc une précision acceptable dès le polynôme de
degré 1. Si les points d’interpolation avaient été classés par abscisse
croissante, on aurait obtenu le tableau suivant.
f (n) (x0 )
f [x0 , x1 , . . . , xn ] = + O(h). (17)
n!
Remarque
On remarque que l’approximation (18) n’est rien d’autre que le terme
nécessaire au calcul du polynôme de degré (n + 1) dans la formule de
Newton (6). En d’autres termes, il est possible d’évaluer l’erreur
d’interpolation liée à un polynôme de degré n en calculant le terme suivant
dans la formule de Newton.
√
On tente d’obtenir une approximation de 8 à l’aide de cette table. En se
pasant sur un polynôme de degré 1 et en prenant x0 = 7, on obtient
facilement
p1 (x) = 2.645751 + 0.177124(x − 7)
de telle sorte que p1 (8) = 2.822875. L’erreur exacte en x = 8 est alors
√
E1 (8) = f (8) − p1 (8) = 8 − 2.822875 = 0.005552125.
Selon l’expression (18), on peut estimer cette erreur par le terme suivant
dans la formule de Newton (6), c’est-à-dire
soit une erreur exacte 0.000849135. Encore ici, cette erreur peut être
approchée à l’aide du terme suivant de la formule de Newton
L’erreur exacte est alors 0.000228786, ce qui est près de la valeur obtenue
au moyen de l’équation (18)
Cela s’explique par la relation (17), qui établit un lien entre les différences
divisées et les dérivées de la fonction f (x). Dans cet exemple, on a
√ 1 −1
f (x) = x, f 0 (x) = √ , f 00 (x) = √ , . . .
2 x 4x x
Le signe des dérivées alterne, tout comme le signe des différrentes colonnes
de la table de différences divisées.
On termine le chapitre en cherchant à déterminer l’ordre de convergence
de l’approximation polynômiale. Si on retient le cas où les abscisses sont
également distantes, il suffit de poser
x − x0
s= ou encore (x − x0 ) = sh. (19)
h
On remarque alors que
Théorème
Dans le cas où les points de collocation xi sont équidistants, l’expression
analytique de l’erreur d’interpolation s’écrit
f (n+1) (ξ)
En (x) = s(s − 1)(s − 2) . . . (s − n)hn+1 (20)
(n + 1)!
Remarque
On peut dès lors conclure que le polynôme d’interpolation pn (x) est une
approximation d’ordre (n + 1) de la fonction f (x). Encore une fois, si on
prend des points de collocation situés à une distance h/2 les uns des
autres, l’erreur d’interpolation est diminuée d’un facteur de 2n+1 .
On constate que le point x0 est coincé entre les 3 abscisses choisies, quel
que soit h.
On a obtenu le tableau qui suit en utilisant la fonction f (x) = e x au point
x0 = 2.6.
Remarques
1 L’expression analytique de l’erreur d’interpolation demeure la même,
quelle que soit la façon dont on calcule le polynôme d’interpolation.
Ainsi, l’expression (16) est valable si on utilise l’interpolation de
Lagrange, la matrice de Vandermonde ou toute autre méthode. Cela
s’explique par l’unicité de ce polynôme.
2 L’approximation de l’erreur exprimée par l’équation (18) est
également valable quelle que soit la façon dont on cherche le
polynôme d’interpolation. Cependant, si on utilise une autre méthode
que l’interpolation de Newton, il faut calculer la table de différences
divisées pour obtenir l’approximation (18). Il est donc avantageux
d’utiliser la formule de Newton dès le départ.
Plan
1 Introduction
2 Matrice de Vandermonde
3 Interpolation de Lagrange
4 Polynôme de Newton
5 Erreur d’interpolantion
6 Splines cubiques
et
pi00 (xi ) = pi+1
00
(xi ) , i = 1, . . . , n − 1, (22)
ce qui donne (2n − 2) nouvelels équations. La notation fi 00 ,
i = 0, . . . , n, désigne la valeur de la dérivée seconde de la spline au
point xi .
Au total, on a (4n − 2) équations en (4n) inconnues et il manque donc 2
équations pour pouvoir résoudre ce système linéaire.
La résolution du système est basée sur la remarque suivante : puisque la
spline est constituée de polynômes de degré 3 dans chaque intervalle, la
dérivée seconde de la spline est affine par morceaux.
De même, en x = xi−1 ,
00 (xi−1 − xi )3
pi (xi−1 ) = f (xi−1 ) = fi−1 + αi (xi−1 − xi ) + βi .
6 (xi−1 − xi )
fi 00 − fi−1
00
f (xi ) − f (xi−1 ) (xi − xi−1 )
αi = − . (24)
(xi − xi−1 ) 6
00 (x − xi )3 (x − xi−1 )3
pi (x) = −fi−1 + fi 00
6 (xi − xi−1 ) 6 (xi − xi−1 )
f (xi−1 ) 00 (xi − xi−1 )
− − fi−1 (x − xi )
(xi − xi−1 ) 6
f (xi ) (xi − xi−1 )
+ − fi 00 (x − xi−1 ) .
(xi − xi−1 ) 6
Si on pose hi = xi − xi−1 , 1 ≤ i ≤ n, on obtient
3
00 (x − xi ) (x − xi−1 )3
pi (x) = −fi−1 + fi 00 (25)
6hi 6hi
00
f (xi−1 ) hi fi−1 f (xi ) hi fi 00
− − (x − xi ) + − (x − xi−1 ) ,
hi 6 hi 6
qui est l’équation de la spline dans l’intervalle [xi−1 , xi ].
Reste à déterminer les fi 00 . Des (4n − 2) conditions retenues, seule la
continuité de la première dérivée (21) n’a pas encore été imposée.
Bassem Ben Hamed (ENET’Com) Chapitre 1 : Interpolation Avril 2020 65 / 72
Splines cubiques
D’une part, on a
− xi )2
00 (x 00 (x − xi−1 )
2
pi0 (x) = −fi−1 + fi
2hi 2h
00 i
f (xi−1 ) hi fi−1 f (xi ) hi fi 00
− − + − ,
hi 6 hi 6
et d’autre part, on a
0 (x − xi+1 )2 00 (x − xi )
2
pi+1 (x) = −fi 00 + fi+1
2hi+1 2hi+1
00 00
f (xi+1 ) hi+1 fi+1
f (xi ) hi+1 fi
− − + − .
hi+1 6 hi+1 6
qui revient à imposer une courbure constante dans les premier et dernier
intervalles.
Remarque
Pour effectuer une interpolation à l’aide des splines cubiques, il faut en
premier lieu résoudre le système (26). Par la suite, on doit déterminer
l’intervalle dans lequel se situe le point d’interpolation x et calculer le
polynôme dans cet intervalle en utilisant la formule (25).
Remarque
Dans le cas où les abscisses sont équidistantes (hi = h, ∀ i), la matrice du
système linéaire (26) se trouve simplifiée de beaucoup. En effet, on obtient
une matrice tridiagonale dont la diagonale principale ne contient que des
2, tandis que les autres diagonales sont constituées de coefficients valant
1/2. Cette matrice ne dépend donc pas de la valeur de h, qui n’affecte que
le terme de droite.
Exemple
Soit les 4 points suivants (1, 1), (2, 4), (4, 9) et (5, 11).
Bassem Ben Hamed (ENET’Com) Chapitre 1 : Interpolation Avril 2020 68 / 72
Splines cubiques
Ce polynôme n’est défini que dans l’intervalle [1, 2]. On peut par exemple
l’évaluer en x = 1.5 pour obtenir 2.5234375.
De même, si on a besoin de la valeur de la spline en x = 3, on peut
obtenir l’expression dans l’intervalle [2, 4]. On a alors
Exemple
Si on reprend l’exemple où la vitesse d’un véhicule est mesurée toutes les 5
secondes, on obtient la spline de la figure suivante.
Bassem Ben Hamed (ENET’Com) Chapitre 1 : Interpolation Avril 2020 71 / 72
Splines cubiques