Dans le domaine mathématique de l'analyse numérique , l'interpolation est un type d' estimation , une méthode de construction (recherche) de nouveaux points de données à partir de l'intervalle d'un ensemble discret de points de données connus.
En ingénierie et en sciences , on dispose souvent d'un certain nombre de points de données, obtenus par échantillonnage ou expérimentation , qui représentent les valeurs d'une fonction pour un nombre limité de valeurs de la variable indépendante . Il est souvent nécessaire d' interpoler , c'est-à-dire d'estimer la valeur de cette fonction pour une valeur intermédiaire de la variable indépendante.
Un problème étroitement lié est l' approximation d'une fonction complexe par une fonction simple. Supposons que la formule d'une fonction donnée soit connue, mais trop complexe pour être évaluée efficacement. Quelques points de données de la fonction originale peuvent être interpolés pour produire une fonction plus simple, tout en restant assez proche de l'originale. Le gain de simplicité ainsi obtenu peut compenser la perte due à l'erreur d'interpolation et améliorer les performances du calcul.

Exemple
À titre d'exemple, nous utiliserons des points de l'équation

L'interpolation permet d'estimer la fonction en des points intermédiaires, tels que
Nous décrivons quelques méthodes d'interpolation, qui diffèrent par des propriétés telles que : la précision, le coût, le nombre de points de données nécessaires et la régularité de la fonction interpolante résultante .
interpolation constante par morceaux

L'une des méthodes les plus simples est l'interpolation linéaire (ou interpolation linéaire). Prenons l'exemple précédent de l'estimation de f (2,5). Puisque 2,5 est la valeur médiane entre 2 et 3, il est judicieux de choisir f (2,5) à mi-chemin entre f (2) = 0,9093 et f (3) = 0,1411, ce qui donne 0,5252.
En général, l'interpolation linéaire prend deux points de données, par exemple ( x a , y a ) et ( x b , y b ), et l'interpolant est donné par :
Cette équation précédente indique que la pente de la nouvelle droite entre
L'interpolation linéaire est rapide et facile, mais elle manque de précision. Un autre inconvénient est que l'interpolant n'est pas différentiable au point x<sub> k</sub> .
L'estimation d'erreur suivante montre que l'interpolation linéaire manque de précision. Soit g la fonction à interpoler , et supposons que x soit compris entre x <sub>a</sub> et x<sub> b </sub> et que g soit deux fois continûment différentiable. Alors l'erreur d'interpolation linéaire est :
En d'autres termes, l'erreur est proportionnelle au carré de la distance entre les points de données. L'erreur dans d'autres méthodes, comme l'interpolation polynomiale et l'interpolation spline (décrites ci-dessous), est proportionnelle à des puissances supérieures de cette distance. Ces méthodes produisent également des interpolations plus lisses.
Interpolation polynomiale

En substituant x = 2,5, nous trouvons que f (2,5) = ~0,59678.
En général, si l'on dispose de n points de données, il existe un unique polynôme de degré au plus n − 1 passant par l'ensemble de ces points. L'erreur d'interpolation est proportionnelle à la distance entre les points de données à la puissance n . De plus, l'interpolant étant un polynôme, il est infiniment différentiable. Ainsi, l'interpolation polynomiale surmonte la plupart des problèmes de l'interpolation linéaire.
L'interpolation polynomiale présente toutefois certains inconvénients. Le calcul du polynôme d'interpolation est coûteux en ressources de calcul (voir complexité algorithmique ) comparé à l'interpolation linéaire. De plus, l'interpolation polynomiale peut engendrer des oscillations, notamment aux extrémités (voir phénomène de Runge ).
L'interpolation polynomiale permet d'estimer des maxima et minima locaux situés en dehors de l'intervalle des échantillons, contrairement à l'interpolation linéaire. Par exemple, l'interpolant ci-dessus présente un maximum local en x ≈ 1,566, f ( x ) ≈ 1,003, et un minimum local en x ≈ 4,708, f ( x ) ≈ −1,003. Cependant, ces maxima et minima peuvent dépasser l'intervalle théorique de la fonction ; par exemple, une fonction toujours positive peut avoir un interpolant comportant des valeurs négatives, et dont l'inverse contient donc de fausses asymptotes verticales .
Plus généralement, la forme de la courbe obtenue, notamment pour des valeurs très élevées ou très faibles de la variable indépendante, peut être contraire au bon sens, c'est-à-dire aux connaissances acquises sur le système expérimental ayant généré les points de données. Ces inconvénients peuvent être atténués par l'utilisation d'une interpolation spline ou par le recours aux polynômes de Tchebychev .
interpolation spline

Dans ce cas, nous obtenons f (2,5) = 0,5972.
À l'instar de l'interpolation polynomiale, l'interpolation spline induit une erreur plus faible que l'interpolation linéaire, tout en offrant un interpolant plus lisse et plus facile à évaluer que les polynômes de degré élevé utilisés dans l'interpolation polynomiale. Cependant, la nature globale des fonctions de base entraîne un mauvais conditionnement. Ce problème est entièrement résolu par l'utilisation de splines à support compact, telles que celles implémentées dans Boost.Math et décrites dans Kress.
