272
7 Interpolation polynomiale
Exemple 7.6 (polynˆ ome d’interpolation osculateur) Posons mi = 1 pour
i = 0, . . . , n. Dans ce cas N = 2n + 2 et le polynˆ ome d’Hermite est appel´ e polynˆ ome osculateur. Il est donn´ e par
HN−1(x) =
n
i=0
yiAi(x) + y
(1)
i Bi(x)
o` u Ai(x) = (1 − 2(x − xi)l
i (xi))li(x)
2 et Bi(x) = (x − xi)li(x)
2 , pour i = 0, . . . , n.
Remarquer que
l
i (xi) =
n
k=0,k =i
1
xi − xk
,
i= 0, . . . , n.
A titre de comparaison, nous utilisons les Programmes 56 et 58 pour calculer les
polynˆ omes d’interpolation de Lagrange et d’Hermite de la fonction f (x) = sin(4πx)
sur l’intervalle [0, 1] en prenant quatre noeuds ´ equir´ epartis (n = 3). La Figure 7.4
montre les graphes de la fonction f (trait discontinu) et des polynˆ omes Πnf (pointill´ es) et HN−1 (trait plein).
•
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
−1.5
−1
−0.5
0
0.5
1
1.5
Fig. 7.4. Interpolation de Lagrange et d’Hermite de la fonction f (x) = sin(4πx)
sur l’intervalle [0, 1]
Le Programme 58 calcule les valeurs du polynˆ ome osculateur aux abscisses
contenues dans le vecteur z. Les vecteurs x, y et dy contiennent respectivement
les noeuds d’interpolation et les valeurs correspondantes de f et f
.
Programme 58 - hermpol : Polynˆ ome osculateur
function [herm] = hermpol(x,y,dy,z)
%HERMPOL Interpolation polynomiale de Hermite
% [HERM] = HERMPOL(X, Y, DY, Z) calcule le polynˆ ome d’interpolation de Hermite
% d’une fonction. X contient les noeuds d’interpolation. Y et DY les valeurs
% de la fonction et de sa d´ eriv´ ee en X. Z contient les points auxquels le
% polynˆ ome d’interpolation HERM doit ˆ etre ´ evalu´ e.
n = max(size(x));
7 Interpolation polynomiale
Exemple 7.6 (polynˆ ome d’interpolation osculateur) Posons mi = 1 pour
i = 0, . . . , n. Dans ce cas N = 2n + 2 et le polynˆ ome d’Hermite est appel´ e polynˆ ome osculateur. Il est donn´ e par
HN−1(x) =
n
i=0
yiAi(x) + y
(1)
i Bi(x)
o` u Ai(x) = (1 − 2(x − xi)l
i (xi))li(x)
2 et Bi(x) = (x − xi)li(x)
2 , pour i = 0, . . . , n.
Remarquer que
l
i (xi) =
n
k=0,k =i
1
xi − xk
,
i= 0, . . . , n.
A titre de comparaison, nous utilisons les Programmes 56 et 58 pour calculer les
polynˆ omes d’interpolation de Lagrange et d’Hermite de la fonction f (x) = sin(4πx)
sur l’intervalle [0, 1] en prenant quatre noeuds ´ equir´ epartis (n = 3). La Figure 7.4
montre les graphes de la fonction f (trait discontinu) et des polynˆ omes Πnf (pointill´ es) et HN−1 (trait plein).
•
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
−1.5
−1
−0.5
0
0.5
1
1.5
Fig. 7.4. Interpolation de Lagrange et d’Hermite de la fonction f (x) = sin(4πx)
sur l’intervalle [0, 1]
Le Programme 58 calcule les valeurs du polynˆ ome osculateur aux abscisses
contenues dans le vecteur z. Les vecteurs x, y et dy contiennent respectivement
les noeuds d’interpolation et les valeurs correspondantes de f et f
.
Programme 58 - hermpol : Polynˆ ome osculateur
function [herm] = hermpol(x,y,dy,z)
%HERMPOL Interpolation polynomiale de Hermite
% [HERM] = HERMPOL(X, Y, DY, Z) calcule le polynˆ ome d’interpolation de Hermite
% d’une fonction. X contient les noeuds d’interpolation. Y et DY les valeurs
% de la fonction et de sa d´ eriv´ ee en X. Z contient les points auxquels le
% polynˆ ome d’interpolation HERM doit ˆ etre ´ evalu´ e.
n = max(size(x));
