0% ont trouvé ce document utile (0 vote)
8 vues2 pages

Interpolation Numérique avec Python

Le document présente un TP sur la simulation numérique, axé sur l'interpolation avec Python. Il contient plusieurs exercices, notamment l'utilisation de la fonction barycentric interpolate pour le polynôme d'interpolation de Lagrange, la méthode récursive de Neuville, et la méthode de Newton pour l'interpolation. Le TP aborde également le phénomène de Runge et la comparaison entre l'interpolation par splines cubiques et par polynômes de Lagrange.

Transféré par

arijchokri4
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues2 pages

Interpolation Numérique avec Python

Le document présente un TP sur la simulation numérique, axé sur l'interpolation avec Python. Il contient plusieurs exercices, notamment l'utilisation de la fonction barycentric interpolate pour le polynôme d'interpolation de Lagrange, la méthode récursive de Neuville, et la méthode de Newton pour l'interpolation. Le TP aborde également le phénomène de Runge et la comparaison entre l'interpolation par splines cubiques et par polynômes de Lagrange.

Transféré par

arijchokri4
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ecole supérieure des Sciences et

de Technologie de Hammam Sousse 2023-2024

Module : Module : Simulation numérique 2 LMI2

TP 1

Exercice 1 : La fonction d’interpolation de PYTHON


La fonction barycentric interpolate(xi, yi, x) de PYTHON retourne les valeurs du po-
lynôme d’interpolation de Lagrange en les valeurs de x, (xi , yi ) étant les points d’interpolation
(fournis par l’utilisateur) où yi = f (xi ), avec f la fonction à interpoler.
On considère la fonction f (x) = sin(3x) sur l’intervalle [−π, π]. En utilisant 10 points uni-
formément répartis, construire le polynôme qui interpole cette fonction en ces 10 points à l’aide
de la fonction prédéfinie barycentric interpolate. Afficher sur un même graphique, le graphe
de f , celui de ce polynôme et les points d’interpolation utilisés.

Exercice 2 : Méthode récursive de Neuville


1. Écrire une fonction PYTHON :
def lagrange (t,x,y)
permettant à travers la construction du polynôme d’interpolation de Lagrange interpo-
lant les valeurs y aux points x suivant la méthode récursive de Neuville, de calculer la
valeur de ce polynôme au point t.
2. On considère la fonction f (x) = sin(3x) sur l’intervalle [−π, π]. Sur un même graphique,
afficher le graphe de f , celui du polynôme qn (n=9) construit à l’aide de la fonction
lagrange en utilisant 10 points uniformément répartis.

Exercice 3 : Polynôme d’interpolation par la méthode de Newton


1. Écrire une fonction :
def Newton (t,D,X)
qui, étant donnés un polynôme pn défini par :

pn (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + ... + an (x − x0 )(x − x1 )...(x − xn−1 )

où D = [an , an−1 , ..., a0 ] un vecteur ligne de coefficients complexes et X = [x0 , x1 , ..., xn−1 ]
une liste de nombres complexes distincts (de longueur n), évalue ce polynôme au point
t et renvoie en sortie la valeurs prise par ce polynôme pn en ce point t.
2. Écrire une fonction :
def DiffDiv(X,Y)
qui calcule la liste D des n+1 différences divisées des entrées du vecteur ligne Y =
[f (x0 ), f (x1 ), ..., f (xn−1 )] par les entrées du vecteur ligne
X = [x0 , x1 , ..., xn−1 ] :
ak = f [x0 , x1 , ..., xk ]
les points (xi , f (xi )) étant donnés par l’utilisateur.

1
3. En utilisant 1. et 2., écrire une fonction :
def LagrangeNewton (xx,X,Y)
qui, étant donnée une liste de nombres complexes distincts X = [x0 , x1 , ..., xn−1 ] (de
longueur n) et la liste de nombres complexes Y = [f (x0 ), f (x1 ), ..., f (xn−1 )], évalue le
polynôme de Lagrange :

Lagrange[X, Y ](x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 ) + ...+

+f [x0 , x1 , ..., xn ](x − x0 )(x − x1 )...(x − xn−1 )


en une série de points xx et renvoie en sortie les valeurs prises par ce polynôme en ces
points.
Représenter graphiquement le polynôme d’interpolation associé à f aux points (xk )k=0,...,n
(on considèrera f (x) = sin(3x) sur [−π, π] par exemple).

Exercice 4 : Phénomène de Runge


Considérer la fonction
1
f (x) =
1 + 25x2
sur l’intervalle [−1, 1]. Mettre en évidence le phénomène de Runge, quand n → ∞, pour les
points équirépartis et la convergence lorsque les points de Tchebychev :

(2k − 1)π
xk = cos( ) ∀k ∈ 1, 2, ..., n
2n
sont utilisés.
Utiliser la commande subplot pour afficher simultanément et comparer les graphes du polynôme
d’interpolation calculé aux points de Tchebychev, celui calculé à partir d’une discrétisation
uniforme.

Exercice 5
1. Tester la fonction [Link](x ,y) de PYTHON de l’interpolation par splines
cubiques sur la fonction de l’exercice 4.
2. Comparer sur cette fonction, l’interpolation par splines et par polynômes de Lagrange.

Vous aimerez peut-être aussi