Fiche récapitulative générée pour impression / export PDF.

Licence 2 · Analyse numérique L2 — Méthodes d'approximation

Interpolation et approximation de fonctions

Interpolation et approximation de fonctions

1. Le problème de l'interpolation

Étant donné n+1n+1 points (x0,y0),,(xn,yn)(x_0,y_0),\ldots,(x_n,y_n) avec les xix_i deux à deux distincts, on cherche une fonction simple (le plus souvent un polynôme) passant exactement par tous ces points. C'est le problème de l'interpolation.

Motivation : on dispose souvent de valeurs mesurées d'une fonction ff en quelques points seulement (mesures expérimentales, table de valeurs), et on veut estimer ff entre ces points, ou en construire une approximation calculable simplement (un polynôme s'évalue avec des additions et multiplications, contrairement à sin\sin, ln\ln, etc.).

2. Existence et unicité du polynôme interpolateur

Théorème : étant donné n+1n+1 points (xi,yi)0in(x_i,y_i)_{0\leq i\leq n} avec les xix_i distincts, il existe un unique polynôme PP de degré n\leq n tel que P(xi)=yiP(x_i)=y_i pour tout ii.

Idée d'unicité : si PP et QQ conviennent tous deux, PQP-Q est un polynôme de degré n\leq n ayant n+1n+1 racines distinctes (x0,,xnx_0,\ldots,x_n), donc PQ=0P-Q=0.

3. Polynômes de base de Lagrange

Pour 0in0\leq i\leq n, on définit le polynôme de Lagrange associé à xix_i :

Li(x)=j=0jinxxjxixjL_i(x) = \prod_{\substack{j=0 \\ j\neq i}}^n \frac{x-x_j}{x_i-x_j}

Ce polynôme a la propriété remarquable Li(xj)={1si j=i0si jiL_i(x_j) = \begin{cases}1 & \text{si } j=i \\ 0 & \text{si } j\neq i\end{cases} (on dit que Li(xj)=δijL_i(x_j)=\delta_{ij}, le symbole de Kronecker).

4. Formule d'interpolation de Lagrange

Le polynôme interpolateur cherché s'écrit alors simplement :

P(x)=i=0nyiLi(x)P(x) = \sum_{i=0}^n y_i\, L_i(x)

On vérifie immédiatement que P(xj)=iyiLi(xj)=yjP(x_j) = \sum_i y_i L_i(x_j) = y_j (seul le terme i=ji=j survit, valant yj×1y_j\times1).

Exemple résolu : interpoler les points (0,1)(0,1), (1,3)(1,3), (2,7)(2,7) par un polynôme de degré 2\leq2.

L0(x)=(x1)(x2)(01)(02)=(x1)(x2)2,L1(x)=(x0)(x2)(10)(12)=x(x2),L2(x)=(x0)(x1)(20)(21)=x(x1)2L_0(x) = \frac{(x-1)(x-2)}{(0-1)(0-2)} = \frac{(x-1)(x-2)}{2}, \quad L_1(x) = \frac{(x-0)(x-2)}{(1-0)(1-2)} = -x(x-2), \quad L_2(x) = \frac{(x-0)(x-1)}{(2-0)(2-1)} = \frac{x(x-1)}{2}

P(x)=1L0(x)+3L1(x)+7L2(x)P(x) = 1\cdot L_0(x) + 3\cdot L_1(x) + 7\cdot L_2(x)

En développant : P(x)=(x1)(x2)23x(x2)+7x(x1)2P(x) = \frac{(x-1)(x-2)}{2} - 3x(x-2) + \frac{7x(x-1)}{2}. Après simplification (mise sur dénominateur commun 22) : P(x)=(x23x+2)6x(x2)+7x(x1)2=x23x+26x2+12x+7x27x2=2x2+2x+22=x2+x+1P(x) = \frac{(x^2-3x+2) -6x(x-2) + 7x(x-1)}{2} = \frac{x^2-3x+2-6x^2+12x+7x^2-7x}{2} = \frac{2x^2+2x+2}{2} = x^2+x+1. On vérifie : P(0)=1P(0)=1 ✓, P(1)=1+1+1=3P(1)=1+1+1=3 ✓, P(2)=4+2+1=7P(2)=4+2+1=7 ✓.

5. Inconvénients de Lagrange et alternative (différences divisées de Newton)

La formule de Lagrange est élégante mais coûteuse à recalculer entièrement si l'on ajoute un nouveau point. La forme de Newton (différences divisées), hors-programme détaillé ici, permet une construction incrémentale ; nous nous concentrons sur la formule de Lagrange comme outil conceptuel de référence.

6. Erreur d'interpolation

Si ff est la fonction que l'on cherche à approcher (et dont les yi=f(xi)y_i=f(x_i) sont les valeurs exactes aux points d'interpolation), et ff est (n+1)(n+1) fois dérivable, l'erreur d'interpolation en un point xx est donnée (admis) par :

f(x)P(x)=f(n+1)(ξ)(n+1)!i=0n(xxi)f(x) - P(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!} \prod_{i=0}^n (x-x_i)

pour un certain ξ\xi dans le plus petit intervalle contenant x,x0,,xnx,x_0,\ldots,x_n (formule analogue au reste de Taylor-Lagrange).

Conséquences pratiques :
- L'erreur s'annule bien aux points d'interpolation xix_i (le produit (xxi)\prod(x-x_i) s'annule).
- L'erreur dépend de la régularité de ff (dérivée (n+1)(n+1)-ième) et de l'écartement des points xix_i.
- Attention au phénomène de Runge : augmenter le degré du polynôme interpolateur (en ajoutant des points équirépartis) ne garantit pas une meilleure approximation — l'erreur peut au contraire exploser près des bords de l'intervalle pour certaines fonctions (exemple classique : f(x)=11+25x2f(x)=\frac{1}{1+25x^2} sur [1,1][-1,1]). C'est pourquoi en pratique on préfère souvent l'interpolation par morceaux (splines) à l'interpolation par un seul polynôme de haut degré.

7. Exemple résolu d'estimation d'erreur

Énoncé : on interpole f(x)=exf(x)=e^x aux points x0=0x_0=0, x1=1x_1=1 par un polynôme de degré 11 (la droite passant par (0,1)(0,1) et (1,e)(1,e)). Majorer l'erreur en x=0,5x=0{,}5.

Résolution : f(x)=exe2,72f''(x)=e^x \leq e \approx 2{,}72 sur [0,1][0,1]. La formule du reste donne f(0,5)P(0,5)e2!0,500,51=e2×0,5×0,5=e80,34|f(0{,}5)-P(0{,}5)| \leq \dfrac{e}{2!}\,|0{,}5-0|\,|0{,}5-1| = \dfrac{e}{2}\times0{,}5\times0{,}5 = \dfrac{e}{8} \approx 0{,}34. L'erreur réelle est en fait bien plus petite (environ 0,0670{,}067), cette estimation étant volontairement majorante (pire cas).

Exercices de la leçon

Exercice 1

Combien de points sont nécessaires pour déterminer de façon unique un polynôme interpolateur de degré 3\leq 3 ?

Corrigé

Un polynôme de degré n\leq n est déterminé de façon unique par n+1n+1 points distincts. Pour n=3n=3, il faut donc 44 points.

Exercice 2

Vrai ou faux : le polynôme de Lagrange LiL_i vaut 11 en xix_i et 00 en tous les autres points d'interpolation.

Corrigé

Vrai. C'est exactement la propriété de construction : Li(xj)=δijL_i(x_j)=\delta_{ij}, qui vaut 11 si i=ji=j et 00 sinon.

Exercice 3

Calculer le polynôme interpolateur de degré 1\leq1 passant par (0,2)(0,2) et (1,5)(1,5).

Corrigé

Pour deux points, le polynôme interpolateur de degré 1\leq1 est la droite les reliant. Pente =5210=3=\dfrac{5-2}{1-0}=3. P(x)=2+3xP(x) = 2+3x. Vérification : P(0)=2P(0)=2 ✓, P(1)=5P(1)=5 ✓.

Exercice 4

Vrai ou faux : l'erreur d'interpolation est nulle aux points d'interpolation xix_i.

Corrigé

Vrai. Par construction, P(xi)=yi=f(xi)P(x_i)=y_i=f(x_i) exactement, et la formule du reste f(x)P(x)=f(n+1)(ξ)(n+1)!(xxi)f(x)-P(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}\prod(x-x_i) s'annule bien en x=xjx=x_j car le produit contient le facteur (xjxj)=0(x_j-x_j)=0.

Exercice 5

Construire le polynôme de Lagrange L0(x)L_0(x) pour les points x0=1x_0=1, x1=2x_1=2, x2=4x_2=4.

Corrigé

L0(x)=(xx1)(xx2)(x0x1)(x0x2)=(x2)(x4)(12)(14)=(x2)(x4)3L_0(x) = \dfrac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)} = \dfrac{(x-2)(x-4)}{(1-2)(1-4)} = \dfrac{(x-2)(x-4)}{3}.

Exercice 6

Déterminer le polynôme interpolateur de degré 2\leq2 passant par (0,0)(0,0), (1,1)(1,1), (2,4)(2,4), et reconnaître une fonction usuelle.

Corrigé

On cherche P(x)=ax2+bx+cP(x)=ax^2+bx+c. P(0)=0c=0P(0)=0 \Rightarrow c=0. P(1)=1a+b=1P(1)=1 \Rightarrow a+b=1. P(2)=44a+2b=4    2a+b=2P(2)=4 \Rightarrow 4a+2b=4 \iff 2a+b=2. En soustrayant la première équation : (2a+b)(a+b)=21    a=1(2a+b)-(a+b)=2-1 \iff a=1, donc b=0b=0. P(x)=x2P(x)=x^2. C'est cohérent : les points donnés sont exactement ceux de la fonction f(x)=x2f(x)=x^2, et comme ff est elle-même un polynôme de degré 22, l'interpolation la retrouve exactement (l'erreur d'interpolation est nulle partout car f(3)=0f^{(3)}=0).

Exercice 7

Vrai ou faux : augmenter le nombre de points d'interpolation équirépartis garantit toujours une meilleure approximation de la fonction sur tout l'intervalle.

Corrigé

Faux. C'est le phénomène de Runge : pour certaines fonctions (par exemple f(x)=1/(1+25x2)f(x)=1/(1+25x^2) sur [1,1][-1,1]), augmenter le degré du polynôme interpolateur avec des points équirépartis fait au contraire exploser l'erreur près des bords de l'intervalle.

Exercice 8

Pour f(x)=ln(x)f(x)=\ln(x), on interpole aux points x0=1x_0=1, x1=2x_1=2 par une droite. Majorer l'erreur en x=1,5x=1{,}5 sachant que f(x)1|f''(x)|\leq1 sur [1,2][1,2].

Corrigé

La formule du reste donne f(1,5)P(1,5)maxf2!1,511,5212×0,5×0,5=0,125|f(1{,}5)-P(1{,}5)| \leq \dfrac{\max|f''|}{2!}\,|1{,}5-1|\,|1{,}5-2| \leq \dfrac{1}{2}\times0{,}5\times0{,}5 = 0{,}125.

Exercice 9

Montrer que la somme i=0nLi(x)\sum_{i=0}^n L_i(x) vaut 11 pour tout xx (indication : interpoler la fonction constante 11).

Corrigé

Considérons la fonction constante f1f\equiv1. Elle vérifie f(xi)=1f(x_i)=1 pour tout i=0,,ni=0,\ldots,n. Son polynôme interpolateur (de degré n\leq n) associé à ces n+1n+1 points est, par la formule de Lagrange, P(x)=i=0n1Li(x)=iLi(x)P(x)=\sum_{i=0}^n 1\cdot L_i(x) = \sum_i L_i(x). Mais le polynôme constant Q(x)=1Q(x)=1 (de degré 0n0\leq n) interpole évidemment aussi ces mêmes points (Q(xi)=1Q(x_i)=1 pour tout ii). Par unicité du polynôme interpolateur de degré n\leq n, on a P=QP=Q, c'est-à-dire i=0nLi(x)=1\sum_{i=0}^n L_i(x) = 1 pour tout xx. C'est une identité remarquable, utile pour vérifier des calculs de polynômes de Lagrange.

Exercice 10

Soit ff un polynôme de degré n\leq n. Montrer que son polynôme interpolateur de Lagrange en n+1n+1 points distincts quelconques est ff lui-même (et donc l'erreur d'interpolation est nulle).

Corrigé

Par définition, le polynôme interpolateur PP associé aux points (xi,f(xi))0in(x_i,f(x_i))_{0\leq i\leq n} est l'unique polynôme de degré n\leq n tel que P(xi)=f(xi)P(x_i)=f(x_i) pour tout ii. Or ff est elle-même un polynôme de degré n\leq n et vérifie trivialement f(xi)=f(xi)f(x_i)=f(x_i). Par l'unicité du théorème d'interpolation, on a donc P=fP=f. Conséquence : l'erreur d'interpolation pour un polynôme de degré n\leq n interpolé en n+1n+1 points est identiquement nulle, ce qui est cohérent avec la formule du reste f(n+1)(ξ)(n+1)!(xxi)\frac{f^{(n+1)}(\xi)}{(n+1)!}\prod(x-x_i), où f(n+1)=0f^{(n+1)}=0 puisque degfn\deg f\leq n.

Exercice 11

Construire le polynôme de Lagrange interpolant (0,1)(0,1), (1,2)(1,2), (1,2)(-1,2).

Corrigé

Posons P(x)=ax2+bx+cP(x)=ax^2+bx+c. P(0)=1c=1P(0)=1\Rightarrow c=1. P(1)=2a+b+c=2a+b=1P(1)=2\Rightarrow a+b+c=2\Rightarrow a+b=1. P(1)=2ab+c=2ab=1P(-1)=2\Rightarrow a-b+c=2\Rightarrow a-b=1. En ajoutant les deux dernières équations : 2a=2a=12a=2\Rightarrow a=1, puis b=0b=0. P(x)=x2+1P(x)=x^2+1. Vérification : P(0)=1P(0)=1 ✓, P(1)=2P(1)=2 ✓, P(1)=2P(-1)=2 ✓.

Exercice 12

Pourquoi dit-on que la formule de Lagrange est coûteuse à mettre à jour lorsqu'on ajoute un nouveau point d'interpolation ?

Corrigé

Chaque polynôme de base Li(x)=jixxjxixjL_i(x) = \prod_{j\neq i} \frac{x-x_j}{x_i-x_j} dépend explicitement de tous les points x0,,xnx_0,\ldots,x_n déjà présents. Si l'on ajoute un nouveau point xn+1x_{n+1}, chaque LiL_i doit être recalculé (un facteur supplémentaire apparaît au numérateur et au dénominateur). Il n'y a donc aucune réutilisation des calculs précédents. C'est pourquoi, en pratique numérique, on utilise plutôt la forme de Newton par différences divisées, qui permet d'ajouter un point en ajoutant simplement un terme supplémentaire à une somme déjà calculée, sans tout recommencer.

Exercice 13

Soit f(x)=cos(x)f(x)=\cos(x) interpolée par un polynôme de degré 4\leq4 en 55 points sur [0,π][0,\pi]. Sachant que f(5)(x)=sin(x)1|f^{(5)}(x)|=|\sin(x)|\leq1, donner la forme générale de la borne d'erreur (sans calcul numérique complet).

Corrigé

La formule générale du reste donne f(x)P(x)maxf(5)5!i=04(xxi)1120i=04(xxi)|f(x)-P(x)| \leq \dfrac{\max|f^{(5)}|}{5!}\,\left|\prod_{i=0}^4(x-x_i)\right| \leq \dfrac{1}{120}\left|\prod_{i=0}^4(x-x_i)\right|, en utilisant maxf(5)=maxsin1\max|f^{(5)}|=\max|\sin|\leq1 et 5!=1205!=120. La majoration précise dépend ensuite du choix des 55 points xix_i et de la position de xx.

Exercice 14

Vrai ou faux : si les yiy_i d'un jeu de points sont tous égaux à une constante cc, le polynôme interpolateur est le polynôme constant P(x)=cP(x)=c.

Corrigé

Vrai. Le polynôme constant P(x)=cP(x)=c vérifie bien P(xi)=c=yiP(x_i)=c=y_i pour tout ii, et il est de degré 0n0\leq n. Par unicité du polynôme interpolateur de degré n\leq n, c'est forcément lui (on retrouve aussi ce résultat via P(x)=icLi(x)=ciLi(x)=c×1=cP(x)=\sum_i c\, L_i(x) = c\sum_i L_i(x) = c\times1=c, en utilisant l'identité Li=1\sum L_i=1 vue précédemment).

Exercice 15

Expliquer en une phrase pourquoi l'interpolation par morceaux (splines, par exemple linéaires ou cubiques) est souvent préférée à l'interpolation par un seul polynôme de haut degré pour un grand nombre de points.

Corrigé

Un polynôme unique de degré élevé passant par de nombreux points a tendance à osciller fortement entre les points de contrôle (phénomène de Runge), surtout près des bords, et peut être numériquement instable (sensibilité aux erreurs d'arrondi, voir la dernière leçon de ce cours). L'interpolation par morceaux (splines) utilise des polynômes de bas degré sur chaque sous-intervalle, raccordés avec une certaine régularité (continuité de la fonction, parfois de sa dérivée) : cela évite les oscillations globales et donne une approximation beaucoup plus stable et fidèle, ce qui explique son usage quasi systématique en pratique (graphisme, CAO, analyse numérique appliquée).

AlphaMath Académie · Interpolation et approximation de fonctions · Analyse numérique L2 — Méthodes d'approximation