Vous êtes sur la page 1sur 2

Dpartement de Mathmatiques Prparation lagrgation

Universit de Nantes, 2012-2013 Option calcul scientique


TP 3 : Interpolation
On sintresse la construction du polynme dinterpolation de Lagrange dune fonction et la mise en vidence du
phnomne de Runge.
Bibliographie
M. Crouzeix, A. L. Mignot. Analyse numrique des quations direntielles. Collection mathmatiques ap-
pliques pour la matrise. Masson, Paris 1984.
J.-P. Demailly. Analyse numrique et quations direntielles. PUG, Grenoble 1996.
Rappels Soit f : [a, b] R une fonction continue. On se donne n + 1 points x
i
, i = 0, . . . , n, dans [a, b], deux
deux distincts. Le polynme dinterpolation de Lagrange de f, de degr au plus n, aux points x
i
est donn par :
p(x) =
n

i=0
f(x
i
)l
i
(x), (1)
avec l
i
(x) =

j=i
x x
j
x
i
x
j
.
Sur lintervalle I R, lerreur dinterpolation est donne par
x I, I, f(x) p(x) =
f
(n+1)
()
(n + 1)!

n
(x), (2)
o
n
(x) = (x x
0
) . . . (x x
n
).
Exercice 1 : Les fonctions dinterpolation de Matlab
La fonction polyfit de Matlab permet le calcul des coecients du polynme q
n
, de degr n, qui approche la fonction
f au sens des moindres carrs, les points (x
i
, f(x
i
)) tant donns par lutilisateur.
1. On considre la fonction f(x) = sin(x) sur lintervalle [, ]. En utilisant des 10 points uniformment rpartis,
construire le polynme q
n
de degr n = 1, 2, 5 laide des fonctions prdnies polyfit et polyval.
2. Sur un mme graphique, acher le graphe de f, celui du polynme q
n
(pour les direntes valeurs de n) et les
points dinterpolation utiliss.
Note : la fonction polyfit nadmet pas dquivalent en Scilab. Par contre la fonction reglin permet deectuer une rgression
linaire (voir laide en ligne).
Le forme (1) a peu dintrt pratique puisquelle ncessite trop doprations. De plus si lon souhaite ajouter un point
dinterpolation, il faut refaire les calculs de tous les l
i
. Cest pourquoi la mthode des dirence divises a t introduite.
Le calcul des dirences divises repose sur le diagramme suivant :
d
0,0
= f(x
0
)
d
1,0
= f(x
1
) d
1,1
=
d
1,0
d
0,0
x
1
x
0
d
2,0
= f(x
2
) d
2,1
=
d
2,0
d
1,0
x
2
x
1
d
2,2
=
d
2,1
d
1,1
x
2
x
0
d
3,0
= f(x
3
) d
3,1
=
d
3,0
d
2,0
x
3
x
2
d
3,2
=
d
3,1
d
2,1
x
3
x
1
d
3,3
=
d
3,2
d
2,2
x
3
x
0
1
On associe cet algorithme la forme de Newton qui dnit le polynme dinterpolation grce la formule
p(x) =
n

k=0

d
k,k

j<k
(x x
j
)

.
Les dirences divises peuvent aussi tre utilises dans le schma de Hrner (ici pour n = 3) :
p(x) = d
0,0
+ (x x
0
)(d
1,1
+ (x x
1
)(d
2,2
+ (x x
2
)(d
3,3
)).
Exercice 2 : Points dinterpolation
Crer une fonction qui construit un tableau contenant n + 1 points dinterpolation dont la rpartition dans [a, b] peut
tre uniforme (voir la fonction linspace), alatoire (utiliser la fonction rand) ou suivre les zros des polynmes de
Tchebychev.
Exercice 3 : Dirences divises
En utilisant lalgorithme des dirences divises et le schma de Hrner, reprsenter graphiquement le polynme
dinterpolation associ f aux points (x
k
)
k=0,...,n
(on considrera f(x) = sin(x) sur [, ] par exemple).
Exercice 4 : Phnomne de Runge
Considrer la fonction f(x) =
1
1+x
2
sur lintervalle [5, 5]. Mettre en vidence le phnomne de Runge, quand n ,
pour les points quirpartis et la convergence lorsque les points de Tchebychev sont utiliss.
Utiliser la commande subplot pour acher simultanment et comparer les graphes du polynme dinterpolation calcul
aux points de Tchebychev, celui calcul partir dune discrtisation uniforme et linterpolation obtenue par Matlab par
les moindres carrs.
Exercice 5 : Ajout de points dinterpolation
Modier votre programme pour pouvoir ajouter des points dinterpolation en cliquant sur le graphe la souris (voir la
fonction ginput de Matlab ou xclick de Scilab).
2