Rapport de TP
Phénomène de Runge
Rayen Melliti
22 avril 2026
Table des matières
1 Introduction 2
2 Objectif 2
3 Travail Pratique 2
3.1 Fonction de Runge . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2 Interpolation polynomiale . . . . . . . . . . . . . . . . . . . . 3
3.2.1 Décomposition dans la base canonique . . . . . . . . . 3
3.2.2 Décomposition dans la base de Lagrange . . . . . . . . 4
3.2.3 Décomposition dans la base de Newton . . . . . . . . . 4
3.2.4 Une simple vérification . . . . . . . . . . . . . . . . . . 5
3.3 Comparaison entre subdivision uniforme et nœuds de Tcheby-
chev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.4 Étude de l’erreur d’interpolation . . . . . . . . . . . . . . . . . 7
4 Conclusion 7
1
1 Introduction
Le phénomène de Runge est un résultat classique en analyse numérique
qui met en évidence les limites de l’interpolation polynomiale. Lorsque l’on
cherche à approcher une fonction par un polynôme interpolateur de degré
élevé en utilisant des points équidistants, l’approximation peut devenir in-
stable et présenter de fortes oscillations, en particulier aux extrémités de
l’intervalle.
2 Objectif
L’objectif de ce TP est d’illustrer ce phénomène à l’aide d’implémenta-
tions sous Python, en comparant les résultats obtenus avec différents choix
de nœuds d’interpolation, notamment les nœuds équidistants et les nœuds
de Tchebychev. On mettra en évidence l’impact du choix des points d’inter-
polation sur la qualité de l’approximation.
3 Travail Pratique
3.1 Fonction de Runge
Dans ce TP, on considère la fonction de Runge définie sur [−3, 3] par :
1
f (x) = .
1 + x2
La fonction ainsi que son tracé sont obtenus à l’aide du code Python suivant :
def runge(x):
return 1/(1+x**2)
x = [Link](-3,3,1000)
[Link](x, runge(x), label='Fonction de Runge')
[Link]()
[Link]()
2
Figure 1 – Courbe de la fonction de Runge
3.2 Interpolation polynomiale
On s’intéresse à l’interpolation polynomiale d’une fonction donnée. On
construit le polynôme interpolateur de Lagrange en utilisant trois représen-
tations différentes : la base canonique, la base de Lagrange et la base de
Newton.
3.2.1 Décomposition dans la base canonique
On commence par exprimer le polynôme interpolateur dans la base ca-
nonique. Cela revient à résoudre un système linéaire associé à la matrice de
Vandermonde.
def lagrangebc(x,f,t) :
n = len(x)
y = [f(i) for i in x]
A = [Link]([ [t**i for i in range(n)] for t in x ])
r = [Link](A, y)
s = 0
for i in range(n) :
s = s + r[i]*t**i
return s
3
3.2.2 Décomposition dans la base de Lagrange
On utilise ensuite la formule classique du polynôme de Lagrange basé sur
les polynômes D’interpolation de Lagrange.
def lagrangebl(x,f,t) :
n = len(x)
s = 0
for i in range(n) :
p = 1
for k in range(n) :
if k != i :
p = p * (t - x[k])/(x[i]-x[k])
s = s + f(x[i]) * p
return s
3.2.3 Décomposition dans la base de Newton
Enfin, on considère la forme de Newton du polynôme interpolateur, basée
sur les différences divisées.
def lagrangebn(x,f,t ) :
n = len(x)
y = [f(i) for i in x]
A = []
for i in range(n) :
v = [1]
for j in range(1,n) :
p = 1
for k in range(j) :
p = p*(x[i] - x[k])
[Link](p)
[Link](v)
y = [Link](A,y)
s = y[0]
for i in range(1,n) :
p =1
for j in range(i) :
p = p*( t- x[j])
s = s + y[i]*p
return s
4
3.2.4 Une simple vérification
On vérifie numériquement que les trois formulations du polynôme inter-
polateur de Lagrange (base canonique, base de Lagrange et base de Newton)
coïncident bien. Pour cela, on compare les courbes obtenues à partir d’un
même ensemble de points d’interpolation. La figure ci-dessous illustre la dif-
férence entre les deux choix de points d’interpolation.
y = [Link](-3,3,15)
w = [lagrangebc(y,runge,t) for t in x]
z = [lagrangebl(y,runge,t) for t in x]
v = [lagrangebn(y,runge,t) for t in x]
[Link](x,w, label = 'Premier polynome interpolateur')
[Link](x,z, label = 'Deuxieme polynome interpolateur')
[Link](x,v, label = 'Troisieme polynome interpolateur')
[Link]()
[Link]("[Link]")
[Link]()
Figure 2 – Comparaison des trois méthodes d’interpolation de Lagrange
On constate que les trois courbes se superposent parfaitement, ce qui
confirme que les trois méthodes fournissent le même polynôme interpolateur,
exprimé sous des formes différentes.
5
3.3 Comparaison entre subdivision uniforme et nœuds
de Tchebychev
Dans cette partie, on compare l’interpolation polynomiale obtenue à par-
tir de points équidistants (subdivision uniforme) et celle obtenue à partir des
nœuds de Tchebychev.
def tcheby(a,b,n) :
return [Link]([a + (b-a)*(1+[Link](n*(2*i+1)/(2*n+2)))/2 for i
in range(n)])
y = [Link](-3,3,15)
w = [lagrangebc(y,runge,t) for t in x]
v = [lagrangebc(tcheby(-3,3,15),runge,t) for t in x]
[Link](x,runge(x) , label = 'Fonction de Runge')
[Link](x,w , label = 'Interpolation avec subdivision uniforme' )
[Link](x,v , label = 'Interpolation avec nuds de Tchebychev' )
[Link]()
[Link]('[Link]')
[Link]()
Figure 3 – Comparaison entre subdivision uniforme et nœuds de Tcheby-
chev
6
On observe que l’interpolation basée sur les nœuds de Tchebychev réduit
fortement les oscillations aux extrémités de l’intervalle et améliore la stabilité
du polynôme interpolateur.
3.4 Étude de l’erreur d’interpolation
Afin d’évaluer la qualité de l’interpolation polynomiale, on considère l’er-
reur entre la fonction exacte et les polynômes interpolateurs obtenus par
subdivision uniforme et par nœuds de Tchebychev. Les résultats graphiques
précédents suggèrent que l’erreur est nettement plus faible dans le cas des
nœuds de Tchebychev que dans le cas de la subdivision uniforme.
def errorlagrange(f,n,a,b) :
u = [Link](a,b,n)
v = [Link]([abs(f(t) - lagrangebc(u,f,t)) for t in x])
w = [Link]([abs(f(t) - lagrangebc(tcheby(a,b,n), f, t)) for t
in x])
return [float([Link](v)),float([Link](w))]
print(errorlagrange(runge,15,-3,3))
Les résultats obtenus sont :
Euniforme = 0.9368 et ETchebychev = 0.0263.
4 Conclusion
L’étude du phénomène de Runge a mis en évidence les limites de l’inter-
polation avec des points équidistants, notamment l’apparition d’oscillations
aux extrémités de l’intervalle. L’utilisation des nœuds de Tchebychev a per-
mis de réduire fortement l’erreur d’approximation, confirmant leur intérêt
pour améliorer la stabilité de l’interpolation polynomiale.