Interpolation de Lagrange
Polynôme passant par n points
Enonce
Implémenter l'interpolation de Lagrange. Évaluer le polynôme en un point $x$ donné.
Tester avec les points $(0,1), (1,3), (2,7), (3,13)$ — vérifier que $P(x) = x^2+x+1$.
Signature attendue
def lagrange(points: list, x: float) -> float:
Exemple
round(lagrange([(0, 1), (1, 3), (2, 7)], 1.5), 6)→4.75
📖 Rappel de cours
Le polynôme d'interpolation de Lagrange de degré $n-1$ passe exactement par $n$ points $(x_i, y_i)$.
Formule :
$P(x) = \sum_{i=0}^{n-1} y_i \prod_{\substack{j=0 \\ j\neq i}}^{n-1} \frac{x - x_j}{x_i - x_j}$
Chaque $L_i(x) = \prod_{j\neq i}\frac{x-x_j}{x_i-x_j}$ vaut 1 en $x_i$ et 0 en $x_j$ ($j\neq i$).
⚠ Le piège : Chaque polynôme élémentaire vaut 1 en son point et 0 aux autres : c'est ce qui fait passer la courbe exactement par tous les points. Attention au phénomène de Runge — au-delà d'une dizaine de points régulièrement espacés, le polynôme oscille violemment entre eux.
← Exercices d'analyse numérique en Python — dichotomie, Newton, intégration
Exercices du meme theme
- Méthode de Newton
- Méthode d'Euler
- Méthode de Simpson
- Méthode des Rectangles (Point Milieu)
- Résolution de Systèmes Linéaires (Pivot de Gauss)
- Décomposition LU
La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.