Vous êtes sur la page 1sur 2

INP Grenoble Stage de Mathématiques Appliquées

ENSIMAG, 1ère année 2005/2006

TP 3 : Différences divisées, polynômes de Newton

Rappels :

Soient n + 1 points distincts de R2 à interpoler :(xi , f (xi )) pour i = 0 . . . n. On rappelle que les n + 1
polynômes de Newton ωk associés au problème sont définis par :

 ω0 = 1


k−1
ω k ∈ Pk : Y
 k
 ω (x) = (x − x0 ) . . . (x − xk−1 ) = (x − xj ), k = 1 . . . n
j=0

où Pk désigne l’espace vectoriel des polynômes de degré inférieur ou égal à k. On rappelle également la
formule de récurrence qui définit les n + 1 différences divisées de f :

 f [x0 ] = f (x0 )
f [x1 , . . . , xk ] − f [x0 , . . . , xk−1 ] (1)
 f [x0 , . . . , xk ] = , k = 1 . . . n.
xk − x0

Le polynôme d’interpolation de f s’écrit dans la base de Newton :


n
X
Πn f (x) = f [x0 , . . . , xk ]ωk (x).
k=0

Dans cette partie, nous allons tout d’abord nous intéresser aux différences divisées, à leur program-
mation directe et à certains avantages de cette méthode de calcul.
Ce sera également l’occasion de voir concrètement, sur un exemple bien précis, qu’il faut faire très atten-
tion aux erreurs d’arrondis.
Ensuite, nous nous servirons de ce programme pour tracer des polynômes d’interpolation dans la base
de Newton, puisque leurs coefficients sont précisement les différences divisées. Enfin, nous essaierons de
voir comment améliorer le temps de calcul du polynôme d’interpolation en utilisant une autre méthode
de calcul pour les différences divisées.

1 Différences divisées
On considère une fonction f et deux vecteurs x et y, où les xi sont les noeuds d’interpolation, et les
yi = f (xi ) sont les valeurs de f correspondantes.
Les différences divisées sont données par la formule (1). On peut représenter cette formule par un tableau,
où le terme (i, j) est calculé à partir des éléments (i − 1, j − 1) et (i, j − 1) :

f [x0 ] 
f [x1 ] f [x0 , x1 ]

 
  
f [x2 ] f [x1 , x2 ] f [x0 , x1 , x2 ]
   
.. .. .. ..
. . . .
f [xn ] f [xn−1 , xn ] f [xn−2 , xn−1 , xn ] ... f [x0 , x1 , . . . , xn−1 , xn ].

Tab. 1 – Différences divisées

1
Question 1 On se donne les 5 points suivants dans R2 :

xi −3 −1 0 2 4
f (xi ) 2 0 2 −1 1

Calculez à la main les différences divisées associées à ces 5 points.

Question 2 Ecrivez une fonction Scilab diff div qui renvoie le tableau des différences divisées (tab 1)
en fonction de x et y.
Comparez les résultats de la question 1 avec ceux obtenus à l’aide de cette fonction.

On souhaite maintenant voir ce qu’il se passe si on rajoute un point d’interpolation. Pour celà, on
étudie la fonction f1 (x) = 1 + sin(3x) sur l’intervalle [0,2].

Question 3 1. Calculez les différences divisées si les nœuds sont équirépartis avec un pas de 0.4.
2. On rajoute à nos points d’interpolation la valeur de f1 en 0.2. Recalculez les différences divisées
correspondantes. Comparez les résultats obtenus dans les deux cas.
3. (Bonus, à faire uniquement si vous avez fini le reste) En utilisant ce que vous avez vu à la question
précédente, écrivez un programme qui permette de modifier le tableau des différences divisées si on
rajoute un nœud.

Enfin, nous allons utiliser la propriété suivante :

f [x0 , . . . , xn ] = 0 pour tout f ∈ Pn−1 .

Question 4 Expliquez brièvement comment on peut démontrer ce résultat.

On considère toujours la fonction f1 mais sur l’intervalle [0,0.0002], avec 6 nœuds équirépartis.

Question 5 Calculez les différences divisées pour ce problème. Commentez les valeurs obtenues.

2 Interpolation dans la base de Newton


Pour programmer l’interpolation d’une fonction f dans la base de Newton, il ne manque plus que les
expressions des polynômes de Newton puisque l’on a désormais les coefficients.

Question 6 Soit z le vecteur qui contient les abscisses où le polynôme de Newton doit être évalué.
1. Ecrivez une fonction newton qui renvoie le polynôme d’interpolation dans la base de Newton aux
points zi .
2. Comparez ce résultat avec celui obtenu par l’interpolation de Vandermonde.Pour cela, choisissez
plusieurs fonctions f et tracez les polynômes correspondants.

Une autre méthode pour remplir le tableau des différences divisées est la suivante :
 
f [x0 ]
 
f [x1 ]  f [x0 , x1 ] 
f [x ] f [x , x ] f [x0 , x1 , x2 ]
 2   0 2 
.. .. .. ..
. . . .
f [xn ] f [x0 , xn ] f [x0 , x1 , xn ] ... f [x0 , x1 , . . . , xn−1 , xn ].

Tab. 2 – Autre tableau pour les différences divisées

Question 7 1. Pourquoi peut-on utiliser cette méthode pour calculer le polynôme d’interpolation dans
la base de Newton ?
2. Expliquez pourquoi cette méthode diminue le temps de calcul.
3. Programmez cette méthode.

Vous aimerez peut-être aussi