268
7 Interpolation polynomiale
for i = j:n+1
d (i,j) = ( d (i-1,j-1)-d (i,j-1))/(x (i-j+1)-x (i));
end
end
return
En utilisant (7.19), n(n + 1) additions et n(n + 1)/2 divisions sont n´ ecessaires
pour construire la matrice compl` ete. Si on disposait de la valeur prise par f
en un nouveau noeud x n+1 , on aurait `
a calculer seulement une ligne suppl´ ementaire (f[x n , x n+1 ], . . ., f[x 0 , x 1 , . . ., x n+1 ]). Ainsi, pour construire Π n+1 f
` a partir de Π n f, il suffit d’ajouter `
a Π n f le terme a n+1 ω n+1 (x), ce qui n´ ecessite (n + 1) divisions et 2(n + 1) additions. Pour simplifier les notations, nous
´ ecrirons D
r f(x i ) = f[x i , x i+1 , . . . , x r ].
Exemple 7.3 Nous donnons dans la Table 7.1 les diff´ erences divis´ ees sur l’intervalle
]0,2[ pour la fonction f (x) = 1 + sin(3x). Les valeurs de f et les diff´ erences divis´ ees
correspondantes ont ´ et´ e calcul´ ees avec 16 chiffres significatifs, bien qu’on ait not´ e
seulement les 4 premiers. Si on se donne en plus la valeur de f au noeud x = 0.2, la
mise `
a jour de la table des diff´ erences divis´ ees se limite seulement aux coefficients
mettant en jeu x1 = 0.2 et f (x1) = 1.5646.
•
Table 7.1. Diff´ erences divis´ ees pour la fonction f (x) = 1 + sin(3x) dans le cas o` u
on ajoute `
a la liste la valeur de f en x = 0.2. Les nouveaux coefficients calcul´ es sont
not´ es en italique
x i
f(x i ) f [x i , x i−1 ] D
2 f i D
3 f i D
4 f i D
5 f i D
6 f i
0
1.0000
0.2 1.5646
2.82
0.4 1.9320
1.83 -2.46
0.8 1.6755
-0.64 -4.13 -2.08
1.2 0.5575
-2.79 -2.69
1.43 2.93
1.6 0.0038
-1.38
1.76
3.71 1.62 -0.81
2.0 0.7206
1.79
3.97
1.83 -1.17 -1.55 -0.36
Remarquer que f[x 0 , . . ., x n ] = 0 pour tout f ∈ P n−1 . N´ eanmoins cette
propri´ et´ e n’est pas toujours satisfaite num´ eriquement car le calcul des diff´ erences divis´ ees peut ˆ etre fortement affect´ e par des erreurs d’arrondi.
Exemple 7.4 Consid´ erons les diff´ erences divis´ ees de la fonction f (x) = 1 + sin(3x)
sur l’intervalle ]0, 0.0002[. Dans un voisinage de 0, f est ´ equivalente ` a 1 + 3x, on
s’attend donc `
a trouver des nombres plus petits quand l’ordre des diff´ erences divis´ ees
augmente. Pourtant les r´ esultats obtenus avec le Programme dividif, pr´ esent´ es dans
la Table 7.2 en notation exponentielle avec 4 chiffres significatifs (bien que 16 chiffres
aient ´ et´ e utilis´ es dans les calculs), montrent un comportement radicalement diff´ erent.
Précédent

- 277/540

Suivant