Retour au blog

Analyse Numérique : Interpolation et Approximation

Huit exercices corrigés : polynômes de Lagrange et de Newton, erreur d'interpolation, moindres carrés, phénomène de Runge et spline cubique naturelle.

Cet article a été rédigé à des fins pédagogiques. Les informations présentées peuvent évoluer. Nous t’invitons à vérifier auprès de sources officielles.

Niveau : supérieur, du facile au difficile. Durée estimée : 1 h 45. 8 exercices avec corrections détaillées.

Rappel des notions clés

Interpoler, c'est trouver le polynôme qui passe exactement par des points donnés. Avec $n+1$ abscisses distinctes, il existe un unique polynôme $P_n$ de degré au plus $n$ tel que $P_n(x_i)=y_i$ : par exemple, par $(0\,;\,1)$ et $(2\,;\,5)$ passe une seule droite, $P_1(x)=1+2x$. Tu peux l'écrire sous la forme de Lagrange, combinaison de polynômes de base, ou sous la forme de Newton, construite avec les différences divisées (des taux d'accroissement emboîtés) : ajouter un point n'y coûte qu'un terme.

Approcher, c'est autre chose : on cherche la fonction la plus proche de $f$ sans exiger qu'elle passe par des points. Au sens des moindres carrés, on rend $\int(f-p)^2$ minimale. Une spline cubique, enfin, est polynomiale de degré au plus $3$ sur chaque intervalle $[x_i\,;\,x_{i+1}]$ et de classe $C^2$ sur le tout (dérivées première et seconde continues) ; elle est naturelle si $S''$ s'annule aux deux extrémités.

Formules à retenir :

  • Lagrange : $L_j(x)=\prod_{i\neq{j}}\frac{x-x_i}{x_j-x_i}$ et $P_n(x)=\sum_{j=0}^{n}y_jL_j(x)$.
  • Newton : $f[x_i,x_{i+1}]=\frac{y_{i+1}-y_i}{x_{i+1}-x_i}$, puis $f[x_i,\dots,x_{i+k}]=\frac{f[x_{i+1},\dots,x_{i+k}]-f[x_i,\dots,x_{i+k-1}]}{x_{i+k}-x_i}$ et $P_n(x)=y_0+f[x_0,x_1](x-x_0)+\dots+f[x_0,\dots,x_n](x-x_0)\cdots(x-x_{n-1})$.
  • Erreur, si $f$ est de classe $C^{n+1}$ : $f(x)-P_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\omega(x)$, avec $\omega(x)=\prod_{i=0}^{n}(x-x_i)$ et $\xi$ dans le plus petit intervalle contenant $x$ et les $x_i$.
  • Moindres carrés dans une base orthogonale $(\varphi_k)$ : $p=\sum_k\frac{\langle{f,\varphi_k}\rangle}{\langle{\varphi_k,\varphi_k}\rangle}\varphi_k$.
  • Spline cubique naturelle de pas constant $h$ : les moments $M_i=S''(x_i)$ vérifient $M_0=M_n=0$ et $M_{i-1}+4M_i+M_{i+1}=\frac{6}{h^2}(y_{i+1}-2y_i+y_{i-1})$ ; $S''$ est affine sur chaque intervalle.

Piège classique : croire que plus de points équidistants donnent toujours une meilleure interpolation. Avec un polynôme de haut degré, l'erreur peut grandir près des bords de l'intervalle : c'est le phénomène de Runge, décrit par Carl Runge en 1901 (cours de Mines Paris cité en sources).

Exercices : niveau facile

Exercice 1 : Soient trois réels distincts $x_0$, $x_1$, $x_2$ et trois réels $y_0$, $y_1$, $y_2$. Démontre qu'il existe un unique polynôme $P$ de degré au plus $2$ tel que $P(x_i)=y_i$ pour $i\in\{0,1,2\}$.

Correction :

On construit un candidat, puis on compare deux solutions.

Existence : $L_0(x)=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}$ vaut $1$ en $x_0$ et $0$ en $x_1$ et $x_2$ ; le dénominateur n'est pas nul car les $x_i$ sont distincts. On définit $L_1$ et $L_2$ de la même façon. Alors $P=y_0L_0+y_1L_1+y_2L_2$ est de degré au plus $2$ et vérifie $P(x_i)=y_i$.

Unicité : si $P$ et $Q$ conviennent, $P-Q$ est de degré au plus $2$ et s'annule en trois points distincts. Un polynôme non nul de degré au plus $2$ a au plus deux racines, donc $P-Q=0$.

Le polynôme existe et il est unique ; le même raisonnement vaut pour $n+1$ points.

Exercice 2 : Calcule, sous la forme de Lagrange, le polynôme $P$ de degré au plus $2$ qui passe par les points $(0\,;\,1)$, $(1\,;\,3)$ et $(2\,;\,7)$, puis développe-le.

Correction :

On écrit les trois polynômes de base, puis on les combine avec les ordonnées.

$L_0(x)=\frac{(x-1)(x-2)}{(0-1)(0-2)}=\frac{(x-1)(x-2)}{2}$, $L_1(x)=\frac{x(x-2)}{(1-0)(1-2)}=-x(x-2)$, $L_2(x)=\frac{x(x-1)}{(2-0)(2-1)}=\frac{x(x-1)}{2}$.

$P(x)=\frac{(x-1)(x-2)}{2}-3x(x-2)+\frac{7x(x-1)}{2}=\frac{8x^2-10x+2}{2}-3x^2+6x$.

$P(x)=x^2+x+1$. Contrôle : $P(0)=1$, $P(1)=3$, $P(2)=7$.

Exercice 3 : Reprends les points de l'exercice 2. Calcule leur polynôme d'interpolation par la méthode de Newton, puis ajoute le point $(3\,;\,10)$ et donne le nouveau polynôme $P_3$ sans tout recalculer.

Correction :

On remplit le tableau des différences divisées ; les coefficients sont en tête de chaque colonne.

Ordre 1 : $\frac{3-1}{1-0}=2$ et $\frac{7-3}{2-1}=4$. Ordre 2 : $\frac{4-2}{2-0}=1$. Donc $P_2(x)=1+2x+x(x-1)=x^2+x+1$, comme à l'exercice 2.

Le point $(3\,;\,10)$ ajoute une case en bas de chaque colonne : $\frac{10-7}{3-2}=3$, puis $\frac{3-4}{3-1}=-\frac12$, puis $\frac{-1/2-1}{3-0}=-\frac12$.

$P_3(x)=x^2+x+1-\frac12x(x-1)(x-2)$. Contrôle : $P_3(3)=13-3=10$. Un seul terme nouveau : c'est l'intérêt de la forme de Newton.

Exercices : niveau moyen

Exercice 4 : Soit $f(x)=e^x$. Détermine le polynôme $P_1$ qui interpole $f$ en $0$ et $1$, encadre l'erreur $|f(0{,}5)-P_1(0{,}5)|$ à l'aide de la formule d'erreur, puis compare avec l'erreur réelle.

Correction :

La droite passe par $(0\,;\,1)$ et $(1\,;\,e)$ ; on applique la formule d'erreur avec $n=1$.

$P_1(x)=1+(e-1)x$. Pour $x\in[0\,;\,1]$, il existe $\xi\in[0\,;\,1]$ tel que $e^x-P_1(x)=\frac{e^{\xi}}{2}x(x-1)$.

En $x=0{,}5$ : $x(x-1)=-0{,}25$, donc l'erreur vaut $-0{,}125\,e^{\xi}$ avec $1\le{e^{\xi}}\le{e}$.

$0{,}125\le|f(0{,}5)-P_1(0{,}5)|\le0{,}125\,e\approx0{,}340$.

En réalité, $e^{0{,}5}\approx1{,}6487$ et $P_1(0{,}5)=\frac{1+e}{2}\approx1{,}8591$ : l'erreur vaut environ $-0{,}210$, bien dans l'encadrement. Elle est négative car $f''>0$ : la corde est au-dessus de la courbe.

Exercice 5 : Soit $f(x)=\sin(\pi{x})$ et les quatre points équidistants $0$, $\frac13$, $\frac23$ et $1$. Détermine le polynôme $P$ de degré au plus $3$ qui interpole $f$ en ces points (pense aux zéros de $f$), puis calcule $P\left(\frac12\right)$ et l'erreur commise.

Correction :

$P$ s'annule en $0$ et en $1$, donc $P(x)=x(1-x)(ax+b)$.

$P\left(\frac13\right)=\frac29\left(\frac{a}{3}+b\right)=\frac{\sqrt3}{2}$ et $P\left(\frac23\right)=\frac29\left(\frac{2a}{3}+b\right)=\frac{\sqrt3}{2}$. En soustrayant, $a=0$, puis $b=\frac{9\sqrt3}{4}$.

$P(x)=\frac{9\sqrt3}{4}x(1-x)$, de degré $2$ : « au plus $3$ » ne veut pas dire « exactement $3$ ».

$P\left(\frac12\right)=\frac{9\sqrt3}{16}\approx0{,}974$ alors que $f\left(\frac12\right)=1$ : l'erreur vaut environ $0{,}026$.

Exercice 6 : Sur $[-1\,;\,1]$, muni de $\langle{u,v}\rangle=\int_{-1}^{1}u(x)v(x)\,dx$, calcule la meilleure approximation $p$ de $f(x)=x^3$ par un polynôme de degré au plus $1$, au sens des moindres carrés, avec la base orthogonale $(1,x)$ (polynômes de Legendre). Passe-t-elle par les points $(-1\,;\,-1)$ et $(1\,;\,1)$ ? Compare $\|f-p\|^2$ à l'écart obtenu avec la droite $y=x$, qui interpole $f$ en $\pm1$.

Correction :

Dans une base orthogonale, chaque coefficient se calcule seul.

$\langle{x^3,\,1}\rangle=0$ (fonction impaire), $\langle{x^3,\,x}\rangle=\int_{-1}^{1}x^4\,dx=\frac25$ et $\langle{x,\,x}\rangle=\frac23$, d'où $p(x)=\frac{2/5}{2/3}x$.

$p(x)=\frac35x$. Comme $p(1)=\frac35\neq1$, $p$ ne passe pas par ces points : approcher n'est pas interpoler.

$\|f-p\|^2=\int_{-1}^{1}\left(x^3-\frac35x\right)^2dx=\frac27-\frac{12}{25}+\frac{6}{25}=\frac{8}{175}\approx0{,}046$, contre $\int_{-1}^{1}(x^3-x)^2dx=\frac27-\frac45+\frac23=\frac{16}{105}\approx0{,}152$ pour $y=x$ : un écart $\frac{10}{3}$ fois plus petit.

Exercices : niveau difficile

Exercice 7 : Un camarade affirme : « Pour mieux approcher $f(x)=\frac{1}{1+10x^2}$ sur $[-1\,;\,1]$, il suffit d'ajouter des points d'interpolation équidistants. » On note $\omega(x)=\prod(x-x_i)$ le facteur de la formule d'erreur.

1) Avec les 5 points $-1$, $-0{,}5$, $0$, $0{,}5$, $1$, calcule $\omega(0{,}25)$ et $\omega(0{,}75)$.

2) Avec 9 points équidistants sur $[-1\,;\,1]$ (pas $0{,}25$), montre que $\frac{|\omega(0{,}875)|}{|\omega(0{,}125)|}=\frac{143}{7}$.

3) L'affirmation est-elle juste ? Que proposes-tu ?

Correction :

On compare le facteur $\omega$ au centre et près des bords.

1) $\omega(x)=x(x^2-1)(x^2-0{,}25)$, donc $\omega(0{,}25)=\frac{45}{1024}\approx0{,}044$ et $\omega(0{,}75)=-\frac{105}{1024}\approx-0{,}103$ : le facteur est déjà $\frac73$ fois plus grand près du bord.

2) En $0{,}125$, les distances $|x-x_i|$ valent $\frac18,\frac18,\frac38,\frac38,\frac58,\frac58,\frac78,\frac78,\frac98$ ; en $0{,}875$, elles valent $\frac18,\frac18,\frac38,\frac58,\frac78,\frac98,\frac{11}8,\frac{13}8,\frac{15}8$. Après simplification, le rapport vaut $\frac{11\times13\times15}{3\times5\times7}=\frac{143}{7}\approx20{,}4$.

3) L'affirmation est fausse. De 5 à 9 points, le rapport passe de $\frac73$ à $\frac{143}{7}$ : avec des points équidistants, $\omega$ pèse de plus en plus près des bords. Pour cette fonction, le polynôme oscille près de $\pm1$ et ces oscillations s'amplifient quand $n$ augmente : c'est le phénomène de Runge, que le cours de Mines Paris montre avec 5, 7 et 9 points. Il faut changer de points plutôt qu'en ajouter : avec les points de Tchebychev $x_j=\cos\frac{(2j-1)\pi}{2n}$, $1\le{j}\le{n}$, plus serrés près des bords, le polynôme d'interpolation converge uniformément vers toute fonction lipschitzienne, comme celle-ci (TD de L3 de l'université de Strasbourg). Une spline cubique, comme à l'exercice 8, est l'autre parade.

Exercice 8 : Le profil d'une bosse de piste de BMX passe, en mètres, par les points $(0\,;\,0)$, $(1\,;\,1)$ et $(2\,;\,0)$ (abscisse horizontale, hauteur ; données fictives). Calcule la spline cubique naturelle $S$ qui passe par ces points, puis la hauteur $S(0{,}5)$. Compare avec le polynôme d'interpolation de degré au plus $2$.

Correction :

On calcule les moments, puis on intègre deux fois $S''$, affine sur chaque intervalle.

Ici $h=1$ et $M_0=M_2=0$, donc $4M_1=6(0-2+0)$ : $M_1=-3$.

Sur $[0\,;\,1]$, $S''(x)=-3x$, donc $S(x)=-\frac{x^3}{2}+ax+b$ ; $S(0)=0$ et $S(1)=1$ donnent $b=0$ et $a=\frac32$. Sur $[1\,;\,2]$, $S''(x)=-3(2-x)$ et, de même, $S(x)=-\frac{(2-x)^3}{2}+\frac32(2-x)$. En $x=1$, les deux morceaux ont une dérivée nulle : la jonction est lisse.

$S(x)=-\frac{x^3}{2}+\frac{3x}{2}$ sur $[0\,;\,1]$, le profil symétrique sur $[1\,;\,2]$, et $S(0{,}5)=0{,}6875$ m.

Le polynôme $P(x)=x(2-x)$ (zéros $0$ et $2$, $P(1)=1$) donne $P(0{,}5)=0{,}75$ m. Les deux profils diffèrent d'environ 6 cm à cet endroit : la spline impose une courbure nulle aux deux bouts, pas le polynôme.

Bilan et conseils

Avant tout calcul, compte les points : $n+1$ points donnent un degré au plus $n$, parfois moins (exercice 5). Vérifie ensuite ton polynôme en remplaçant chaque abscisse donnée. Pour une erreur, sépare les deux facteurs : la dérivée $f^{(n+1)}$, que tu majores sur le bon intervalle, et $\omega(x)$, que tu calcules exactement.

Ce qu'il faut retenir : interpoler, c'est passer par les points ; approcher, c'est rendre un écart minimal. Avec beaucoup de points équidistants, change de points ou passe aux splines plutôt que de monter en degré.

Sources

Sébastien Joannès, cours d'interpolation et d'approximation, Mines Paris (PSL), 2015 : phénomène de Runge et points de Tchebychev.

Université de Strasbourg, L3 de mathématiques, « TD-TP5. Interpolation par des polynômes et des splines », 2019-2020 : points de Tchebychev et spline cubique naturelle.

Tu peux partager cette page librement, en citant ORBITECH AI Academy avec son lien.