Professional Documents
Culture Documents
(4.1)
vrifiant P(xi) = yi
Preuve: Supposons qu'il existe deux polynmes P(x) et Q(x) vrifiant cette proprit. Alors le
polynme de degr au plus gal n
R(x) = P(x)Q(x)
(4.2)
s'annule en (n+1) points distincts xi. Or le polynme R(x) tant de degr au plus gal n ne
peut avoir plus de n racines distinctes. On en dduit donc que R(x) est nul et donc que P(x) =
Q(x).
(4.3)
avec
xx0
g(x) =
si
x = x0
si
x = x1
xx1
(4.4)
Que vaut le polynme dans le cas gnral o nous avons (n+1) points (n > 1)
Cas gnral
Supposons donns (n+1) points dfinis par les couples (xi,yi), (i = 0,1,...,n).
On commence par dfinir (n+1) polynmes de degr n, li(x) (i = 0,1,...,n) vrifiant
li(xj) = ij =
si i = j
si i j
li(x) =
xxj
j = 0,j i
xixj
(4.5)
Les (n+1) polynmes li(x) forment une base du sous-espace vectoriel des polynmes de degr
n. En effet si
0l0(x)+1l1(x)+...+nln(x) = 0
(4.6)
alors
0l0(xk)+1l1(xk)+...+klk(xk)+...+nln(xk) = 0 klk(xk) = 0
(4.7)
ce qui entraine
k = 0
(k = 0,1,2,...n)
(4.8)
Exemple 34 Dans le cas n = 2, on obtient
xx1
l0(x) =
xx2
(4.9)
x0x1
x0x2
xx0
xx2
l1(x) =
(4.10)
x1x0
x1x2
xx0
xx1
l2(x) =
x2x0
(4.11)
x2x1
3
x2
l0 =
x+1
l1 = x2+2x
1
x2
l2 =
2
x
2
P(x) =
yili(x)
i=0
(4.12)
est le polynme d'interpolation puisqu'il est de degr n et qu'il vrifie P(xi) = yi (i = 0,1,...,n).
Ce polynme est appel polynme d'interpolation de Lagrange.
Pn(x) =
i=0
yi
xxj
j = 0,j i
yii(n)
i=0
xixj
(xxj)
j = 0,j i
(4.13)
Les coefficients i(n) peuvent se calculer de manire rcursive en utilisant la formule suivante :
i(n+1) = i(n)/(xixj)
(i = 0,1,...,n)
(4.14)
On peut montrer l'galit suivante :
n
i(n) = 0
i=0
(4.15)
L'algorithme de recherche des i(n) peut se rsumer de la manire suivante :
dbut 0(0) = 1
Pour k = 1 n
Pour i = 0 k1
i(k) = i(k1)/(xixk)
fin
k1
k(k) =
i(k)
i=0
fin
Les coefficients ai du polynme Pn(x) peuvent alors tre dduits des coefficients i(n).
Exemple 35 La figure 4.2 montre le polynme d'interpolation de la fonction
x1
f(x) = logx2
x
(4.16)
aux points [1,2,4,8,10]
Pn(x) = c0+c1(xx0)+c2(xx0)(xx1)+...+cn(xx0)(xx1)...(xxn1)
(4.17)
Il ne faut pas oublier que le polynme de Newton sera gal au polynme de Lagrange (le
polynme d'interpolation tant unique). Il diffrent simplement dans la forme et par
l'algorithme de calcul des coefficients.
Pn(x0) = c0 = y0
Pn(x1) = c0+c1(x1x0)) = y1
....
Pn(xn) = c0+c1(xnx0)+c2(xnx0)(xnx1)+...+cn(xnx0)...(xnxn1) = yn
Quoiqu'il en soit, une autre mthode permet d'obtenir un algorithme itratif sur le nombre de
points. C'est ici une diffrence majeure avec le polynme de Lagrange pour lequel, si on
ajoute un point, on est oblig de recalculer tous les coefficients du polynme.
Remarquons d'abord que le terme ci ne dpend que des xk avec (k = 0,....,i).
c0
y0
(4.18)
y1c0
c1
(4.19)
x1x0
y2y0c1(x2x0)
c2
(4.20)
(x2x0)(x2x1)
y2y0
y1y0
(4.21)
(x2x0)(x2x1)
(x1x0)(x2x1)
(y2y0)(x1x0)(y1y0)(x2x0)
=
(4.22)
(x2x0)(x2x1)(x1x0)
y1y0
y2y1
x1x0
x2x1
(x2x0)
(4.23)
x0
f(x0)
f[x0,x1]
x1
f(x1)
f[x0,x1,x2]
f[x1,x2]
x2
f(x2)
f[x0,x1,x2,x3]
f[x1,x2,x3]
f[x2,x3]
: :
x3
f(x3)
: :
f[xn3xn2,xn1,xn]
xn1
f(xn1)
f[xn2,xn1,xn]
f[xn1,xn]
xn
f(xn)
avec
f[x0,...,xn]
f(xi)
yi
(4.24)
ci
f[ x0,x1,...,xi]
(4.25)
f(xj)f(xi)
f[xi,xj]
(4.26)
xjxi
f[xj,xk]f[xi,xj]
f[xi,xj,xk]
(4.27)
xkxi
P(xi) = f(xi) = yi
(4.28)
Cette diffrence peut tre faible ou grande comme le montre la figure 4.4
Exemple 37
1
x [1,3]
f(x) =
x
(4.29)
1
x0 = 1,
f(1) = 1
x1 = 3,
f(3) =
3
(4.30)
alors
1
P(x) =
4
x+
(4.31)
Dans ce cas on peut dire que la diffrence est faible mais on remarque que le polynme P(x)
est aussi polynme d'interpolation de toute fonction vrifiant la condition 4.30, et la
diffrence peut alors tre leve.
f Cn+1[a,b]
(4.32)
alors
1
f(x)P(x) =
i=0
(n+1)!
(4.33)
o
(xxi)f(n+1)()
min
max
(x,xn) b
(4.34)
Preuve: non dveloppe ici
Exemple 39 L'application de ce thorme dans le cas de l'interpolation linaire avec
x0 = a
x1 = b
(4.35)
et donc
xb
xa
P(x) = f(a).
+f(b).
ab
ba
(4.36)
donne
(xa)(xb)
f()
f(x)P(x) =
2
(4.37)
Il faut donc trouver un majorant de | f()|
Choix des xi au mieux
D'aprs le thorme prcdent,
f(n+1)()
| f(x)P(x)|
max
x [a,b]
(n+1)!
max
x [a,b]
(xxi)
i=0
(4.38)
L'erreur rsulte donc de deux termes :
max
x [a,b]
(xxi)
i=0
(4.39)
Le problme est le suivant : comment choisir les xi pour rendre cette quantit
minimale? On dmontre que cette quantit est minimale pour les points xi annulant les
polynmes de Chebychev c'est--dire
ba
xi =
cos
2
ni
b+a
(4.40)
Exemple 40 La figure ci-dessous montre le cas de la fonction de Runge avec des points
rgulirement espacs et des points suivant une rpartition de Chebychev. Le polynme de
degr 6 en traits interrompus est obtenu aux points d'interpolation
Le polynme en traits pointills est obtenu avec la rpartition des points donns par la
formule 4.40 pour a = 5, b = 5 et n = 6. La rpartition des points est donne sur la figure
4.6
x0 = 5,x1 = 4.3301,x2 = 2.5,x3 = 0,x4 = 2.5,x5 = 4.3301,x6 = 5
S0(x),
x [ x0,x1]
S1(x),
x [ x1,x2]
Sn1(x),
x [ xn1,xn]
S(x) =
(4.41)
Lorsque les polynmes Si(x) sont de degr 1, on parle de spline linaire; quand ils sont de
degr 2, on parle de spline quadratique. S'ils sont de degr 3, on parle de spline cubique.
S0(x) = a0x+b0,
x [ x0,x1]
S1(x) = a1x+b1,
x [ x1,x2]
Sn1(x) = an1x+bn1,
x [ xn1,xn]
S(x) =
(4.42)
vrifiant la condition d'interpolation
S(xi) = yi
(4.43)
La premire question laquelle if faut rpondre est : la spline S(x) est-elle unique?
La dtermination de S(x) ncessite le calcul de 2n coefficients ai et bi, (i = 0,1,...,n1). Pour
cela on dispose de 2n quations :
Si(xi) = yi
(4.44)
yi = aixi+bi
(4.45)
Si(xi+1) = Si+1(xi+1)
(i = 0,1,...,n2)
(4.46)
aixi+1+bi = yi+1
(4.47)
On en dduit donc de manire unique
yi+1yi
ai =
, (i = 0,1,...,n1)
(4.48)
xi+1xi
bi = yiaixi, (i = 0,1,...,n1)
(4.49)
S0(x) = a0x2+b0x+c0,
x [ x0,x1]
S1(x) = a1x2+b1x+c1,
x [ x1,x2]
Sn1(x) = an1x2+bn1x+cn1,
x [ xn1,xn]
S(x) =
(4.50)
Exemple 43
La fonction
x2
x0
x2
0x1
12x
x1
f(x) =
La spline S(x) est-elle unique? La dtermination de S(x) ncessite le calcul des 3n coefficients
ai et bi, (i = 0,1,...,n1). Pour cela on dispose seulement de (3n1) quations :
Si(xi) = yi
(4.51)
yi = aixi2+bix+ci
(4.52)
Si(xi+1) = Si+1(xi+1)
(i = 0,1,...,n2)
(4.53)
Si(xi+1) = Si+1(xi+1)
(i = 0,1,...,n2)
(4.54)
Pour pouvoir rsoudre le problme, il est donc ncessaire de fixer une condition
supplmentaire. Pour cela dfinissons la variable auxiliaire zi = S(xi),(i = 0,1,...,n) et
rcrivons Si(x) sous la forme
Si(x) = ai(xxi)2+bi(xxi)+ci
(4.55)
Des conditions d'interpolation, il apparat clairement que, sous cette forme, les ci sont
dtermins de manire unique
ci = Si(xi) = yi
(i = 0,1,...,n2)
(4.56)
De plus, par dfinition
Si(xi) = bi = zi
(4.57)
ce qui dtermine les bi. En crivant maintenant les conditions de continuit de la
drive, on obtient
2ai(xi+1xi)+bi = 2ai+1(xi+1xi+1)+bi+1
(i = 0,1,...,n2)
(4.58)
En utilisant 4.57,on obtient les ai
zi+1zi
ai =
2( xi+1xi)
(4.59)
Si(x) se met donc sous la forme
zi+1zi
(xxi)2+zi(xxi)+yi
Si(x) =
2( xi+1xi)
(4.60)
Il ne reste donc plus qu' calculer les zi. Pour cela on crit les quations de continuit
de la spline au point xi+1
zi+1zi
(xi+1xi)2+zi(xi+1xi)+yi
Si(xi+1) =
2( xi+1xi)
zi+1zi
(xi+1xi)+zi(xi+1xi)+yi
=
2
= yi+1
(4.61)
yi+1yi
zi
zi+1 = 2
(i = 0,1,...,n1)
xi+1xi
(4.62)
Et on voit apparatre naturellement la condition supplmentaire qui sera ici une
condition d'initialisation de la rcurrence sur les zi. On doit donc choisir
z0 = S0(x0)
(4.63)
Remarque 44 On peut donner n'importe quelle valeur z0, mais gnralement on choisit z0 =
0. Notons qu'au lieu de fixer z0, on aurait pu fixer zn et faire une rcurrence descendante.
Les figures 4.7 et 4.8 montrent les rsultats obtenus pour la fonction de Runge respectivement
aux points [5,3,1,1,3,5] et [5,3,0,1,1,3,5]. On remarque que le fait d'ajouter le point 0
amliore les rsultats au voisinage de 0 mais dgrade les rsultats sur l'intervalle [2,5]. On
observe en effet des oscillations de forte amplitude.
Si(x) = ai(xxi)3+bi(xxi)2+ci(xxi)+di
(4.64)
Ayant 4n coefficients dterminer, nous ne disposons cette fois-ci que de (4n1) quations;
les (3n1) conditions identiques celles de la spline quadratique et les (n1) conditions
(4.65)
et
yn = Sn1(xn)
(4.66)
Les conditions d'interpolation aux points xi donnent
di = yi
(4.67)
Les conditions de continuit de la drive et de la drive seconde entranent
1
(yi+1yi)
ai =
6hi
(4.68)
1
yi
bi =
2
(4.69)
1
1
hi(yi+1+2yi)
(yi+1yi)
ci =
hi
(4.70)
avec
hi = xi+1xi
(4.71)
Il suffit donc maintenant de calculer les yi, (i = 0,1,...,n2).
L'criture de la continuit de la spline en utilisant les galits prcdentes donne le systme
d'quations (n2) inconnues permettant d'obtenir les yi,(i = 1,1,...,n2)
[
2(h0+h1)
h1
h1
2(h1+h2)
h2
h2
2(h2+h3)
h3
h3
hn3
hn3
2(hn3+hn2)
hn2
hn2
2(hn2+hn1)
]
[
y(1)
y(2)
y(3)
y(n2)
y(n1)
]=[
[6/(h0)](y1y0)+[6/(h1)](y2y1)h0y0
[6/(h1)](y2y1)+[6/(h2)](y3y2)
[6/(h2)](y3y2)+[6/(h3)](y4y3)
[6/(hn3)](yn2yn3)+[6/(hn2)](yn1yn2)
[6/(hn2)](yn1yn2)+[6/(hn1)](ynyn1)hn1yn
]
La figure 4.9 montre un exemple de spline cubique obtenue pour la fonction de Runge aux
points d'interpolation
x0 = 5,x1 = 3,x2 = 1,x3= 0,x4 = 1,x5 = 3,x6 = 5
(4.72)
la spline cubique est dite naturelle.
(4.73)
et
f(a) = y0,y1,...,yn = f(b)
(4.74)
alors la spline cubique naturelle S(x) qui ralise l'interpolation de f aux points (xi,yi) vrifie
[ S(x)] 2 dx
[ f(x)] 2 dx
(4.75)
En d'autres termes, la courbure moyenne de S est infrieure celle de f.
Said Mammar
Lundi 22 Novembre 1999