TP6: Interpolation de Lagrange: Exercice 1
TP6: Interpolation de Lagrange: Exercice 1
TP6: Interpolation de Lagrange: Exercice 1
Commencez par créer un répertoire TP5/ dans lequel vous travaillerez pour ce TP.
Rappel de cours :
Soient x0 , .., xn n+1 points équirépartis sur l’intervalle [0, 1]. Si on pose h = n1 , on a donc xi = i∗h.
Le polynome d’interpolation de Lagrange de f relativement aux points xi s’écrit :
n
X
pn (x) = Li (x)f (xi )
i=0
n
Y x − xj
avec Li (x) =
xi − xj
j=0,i6=j
Soient (xi , fi ), i = 0 : n, des points d’interpolation. Le but de cette partie est d’écrire et de
comparer différents algorithmes d’évaluation en un point x quelconque du polynôme d’interpolation
de Lagrange associé.
Exercice 1. Le but de cet exercice est de calculer une valeur approchée d’une fonction en
un point par une méthode d’interpolation de Lagrange en utilisant les fonctions de base.
Créez un répertoire Exo1 et placez vous à l’intérieur.
Dans un fichier exo1.f90 :
1
x
2. Calculez le polynome d’interpolation de Lagrange pn en x = 0.55 de la fonction f (x) =
sqrt(x)
3. Imprimez à l’écran le résultat.
4. Vérifiez que votre programme est valide : copiez les fichiers exo1.sh et gradeexo1.sh qui se
trouve dans le répertoire /net/autre/Matmeca/dobrzyns/Public/TP5 dans votre répertoire
TP5 puis dans ce même répertoire, tapez ./gradeexo1.sh. Une note doit apparaitre et votre
programme doit s’exécuter et afficher la valeur du polynôme.
Exercice 2. Le but de cet exercice est de calculer une valeur approchée d’une fonction en
un point par une méthode d’interpolation de Lagrange en utilisant les différences divisées.
Créez un répertoire Exo2 et placez vous à l’intérieur.
Dans un fichier exo2.f90 :
1. Définissez une constante entière nommé n qui vaut 10
x
2. Calculez le polynome d’interpolation de Lagrange en x = 0.55 de la fonction f (x) =
sqrt(x)
3. Imprimez à l’écran le résultat.
1 1 45.4
2 0.5 18.3
3 1 3.
4 10 20.
5 3 10.
2
• dans gnuplot, on utilise la fonction plot de la manière suivante :
plot ’ex.dat’ u 1:2 ce qui signifie que la première colonne de ex.dat contiendra les
abscisses des points et la deuxième colonne les ordonnées.
plot ’ex.dat’ u 2:3 ce qui signifie que la deuxième colonne de ex.dat contiendra les
abscisses des points et la troisième colonne les ordonnées.
Exercice 3.
Soient y0 , .., ym m + 1 points équirépartis sur l’intervalle [−1, 1]. Soient x0 , .., xn n + 1 points
équirépartis sur l’intervalle [−1, 1].
Le but de cet exercice est d’évaluer les polynômes d’interpolation de Lagrange de degré 3, 5 et
15 en tous les points yi et de les tracer avec gnuplot.
1. Définissez un vecteur y de taille 101 et initialisez-le avec les valeurs des yi pour i = 0..100.
5. Exécutez votre programme en tapant ./exo3 > data3 en donnant une valeur 3 pour n.
Recommencez pour n = 5 (resp. 15) en changeant data3 en data5 (resp. data15). Des fichiers
nommés data3, data5 et data15 contenant des colonnes de chiffres existent maintenant dans
votre répertoire.
6. Tracez avec gnuplot ces fichiers ainsi que la fonction f (x). Que dire de l’approximation ?
3
Exercice 4. Créez un répertoire Exo4 et placez vous à l’intérieur. Reprendre l’éxercice
1
précédent avec la fonction f (x) = . Que constatez-vous ?
1 + 25 × x2
Il est fortement conseillé de commencer par écrire l’algorithme sur papier en vérifiant bien les
bornes des sous-intervalles et les valeurs de xi avant de se mettre à programmer.