Interpolatie

Voor het taalkundige begrip, zie interpolatie (literatuur)

Interpolatie is het afleiden van nieuwe datapunten binnen het bereik van een verzameling bekende discrete datapunten onder de veronderstelling van een zekere relatie tussen die punten. Interpolatie onderscheidt zich van extrapolatie waarbij het nieuw te bepalen punt zich buiten het bereik van de bekende punten bevindt. Met andere woorden, interpolatie is het uitbreiden van een serie getallen met punten die tussen de getallen in die serie liggen en extrapolatie is het uitbreiden van een reeks getallen met punten die daarbuiten liggen.

Als bijvoorbeeld om 14:00 uur een fietstocht begint en na 2 uur volgens de fietscomputer 40 km is afgelegd, kan door interpolatie afgeleid worden dat om 15:00 uur zo'n 20 km was afgelegd. Daarbij is verondersteld dat er met constante snelheid is gefietst, een eenvoudige relatie tussen verstreken tijd en afgelegde afstand. De schatting voor 15:00 uur is een interpolatie op basis van de bekende start- en finishtijd.

Definitie

Meer wiskundig uitgedrukt is een interpolatie in een tweedimensionaal probleem (in een x , y {\displaystyle x,y} -assenstelsel) de techniek om een functie te vinden die door een aantal bekende coördinatenparen ( x i , y i ) , i = 1 , 2 , , n {\displaystyle (x_{i},y_{i}),i=1,2,\ldots ,n} gaat, teneinde ook voor een willekeurig ander punt x 0 {\displaystyle x_{0}} de bijbehorende y {\displaystyle y} -waarde te kunnen vinden. Bovengenoemde voorwaarde betreffende het domein van de bekende situaties, luidt in deze context: x 0 {\displaystyle x_{0}} mag niet kleiner zijn dan de kleinste x i {\displaystyle x_{i}} uit de verzameling bekende punten, noch groter dan de grootste x i {\displaystyle x_{i}} .

De eerste en meest wezenlijke stap is het vinden van een functievoorschrift f {\displaystyle f} dat een verband tussen x {\displaystyle x} - en y {\displaystyle y} -waarden legt:

y = f ( x ) {\displaystyle y=f(x)} , waarbij y i = f ( x i ) {\displaystyle y_{i}=f(x_{i})} voor alle i = 1 , 2 , , n {\displaystyle i=1,2,\ldots ,n}

De triviale tweede stap is het bepalen van de onbekende y {\displaystyle y} -waarde, wat heel eenvoudig kan met: y 0 = f ( x 0 ) . {\displaystyle y_{0}=f(x_{0}).}

Opmerking: Hier wordt gesproken van een functie die exact door alle bekende punten gaat; een goede benadering (of best fit) van die punten is dus niet voldoende.

Lineaire interpolatie

voorbeeld van lineaire interpolatie

De eerder beschreven fietstocht is een voorbeeld van lineaire interpolatie. Daarvoor zijn precies twee bekende punten nodig en is voor elke x {\displaystyle x} -waarde tussen beide uitersten een y {\displaystyle y} -waarde te berekenen met

y = f ( x ) = y 1 + y 2 y 1 x 2 x 1 ( x x 1 ) {\displaystyle y=f(x)=y_{1}+{\frac {y_{2}-y_{1}}{x_{2}-x_{1}}}\cdot (x-x_{1})}

of met dit gelijkwaardige alternatief

y = f ( x ) = y 2 + y 2 y 1 x 2 x 1 ( x x 2 ) {\displaystyle y=f(x)=y_{2}+{\frac {y_{2}-y_{1}}{x_{2}-x_{1}}}\cdot (x-x_{2})}

Interpolatiepolynomen

Lineaire interpolatie is het eenvoudigste geval van interpoleren met behulp van een polynoom; de polynoom is daarin van de eerste graad. In het algemeen kan men stellen dat men voor m + 1 {\displaystyle m+1} bekende punten een unieke polynoom van de graad m {\displaystyle m} kan vinden die door al deze punten gaat. Als de bekende punten ( x i , y i ) {\displaystyle (x_{i},y_{i})} zijn, met i = 0 , 1 , 2 , , m , {\displaystyle i=0,1,2,\ldots ,m,} dan worden de coefficienten c i {\displaystyle c_{i}} van deze polynoom:

f ( x ) = c 0 + c 1 x + c 2 x 2 + + c m x m {\displaystyle f(x)=c_{0}+c_{1}x+c_{2}x^{2}+\ldots +c_{m}x^{m}}

bepaald door de eis dat f ( x ) {\displaystyle f(x)} door alle bekende punten gaat. Dat leidt tot het volgende stelsel van m + 1 {\displaystyle m+1} vergelijkingen:

y 0 = c 0 + c 1 x 0 + c 2 x 0 2 + + c m x 0 m y 1 = c 0 + c 1 x 1 + c 2 x 1 2 + + c m x 1 m y 2 = c 0 + c 1 x 2 + c 2 x 2 2 + + c m x 2 m y m = c 0 + c 1 x m + c 2 x m 2 + + c m x m m {\displaystyle {\begin{matrix}y_{0}=c_{0}+c_{1}x_{0}+c_{2}x_{0}^{2}+\ldots +c_{m}x_{0}^{m}\\y_{1}=c_{0}+c_{1}x_{1}+c_{2}x_{1}^{2}+\ldots +c_{m}x_{1}^{m}\\y_{2}=c_{0}+c_{1}x_{2}+c_{2}x_{2}^{2}+\ldots +c_{m}x_{2}^{m}\\\ldots \\y_{m}=c_{0}+c_{1}x_{m}+c_{2}x_{m}^{2}+\ldots +c_{m}x_{m}^{m}\end{matrix}}}

Dit zijn m + 1 {\displaystyle m+1} vergelijkingen met m + 1 {\displaystyle m+1} onbekenden en dus is het stelsel in principe oplosbaar.

Voor het lineaire geval is deze werkwijze goed te demonstreren: stel de bekende punten zijn ( x 1 , y 1 ) {\displaystyle (x_{1},y_{1})} en ( x 2 , y 2 ) {\displaystyle (x_{2},y_{2})} . Het functievoorschrift is van de vorm

y = f ( x ) = c 0 + c 1 x {\displaystyle y=f(x)=c_{0}+c_{1}x}

en het stelsel vergelijkingen voor de bekende punten:

y 1 = c 0 + c 1 x 1 y 2 = c 0 + c 1 x 2 {\displaystyle {\begin{matrix}y_{1}=c_{0}+c_{1}x_{1}\\y_{2}=c_{0}+c_{1}x_{2}\end{matrix}}}

De oplossing is:

c 1 = y 2 y 1 x 2 x 1 {\displaystyle c_{1}={\frac {y_{2}-y_{1}}{x_{2}-x_{1}}}}
c 0 = y 1 y 2 y 1 x 2 x 1 x 1 {\displaystyle c_{0}=y_{1}-{\frac {y_{2}-y_{1}}{x_{2}-x_{1}}}x_{1}}

Het functievoorschrift luidt dus:

f ( x ) = c 0 + c 1 x = y 1 + y 2 y 1 x 2 x 1 ( x x 1 ) {\displaystyle f(x)=c_{0}+c_{1}x=y_{1}+{\frac {y_{2}-y_{1}}{x_{2}-x_{1}}}\cdot (x-x_{1})}

wat zoals verwacht precies overeenkomt met de functie uit de vorige paragraaf.

Lagrange-interpolatie

In plaats van het oplossen van het stelsel vergelijkingen kan ook gebruik gemaakt worden van lagrange-polynomen. De lagrange-polynomen die horen bij de m + 1 {\displaystyle m+1} punten x 0 , x 1 , , x m {\displaystyle x_{0},x_{1},\ldots ,x_{m}} , zijn m + 1 {\displaystyle m+1} polynomen i {\displaystyle \ell _{i}} van de graad m {\displaystyle m} , waarvoor geldt:

i ( x k ) = { 1  voor  k = i 0  voor  k i {\displaystyle \ell _{i}(x_{k})={\begin{cases}1{\text{ voor }}k=i\\0{\text{ voor }}k\neq i\end{cases}}}

De m {\displaystyle m} -de-graads interpolatiepolynoom f {\displaystyle f} die door de m + 1 {\displaystyle m+1} punten ( x i , y i ) {\displaystyle (x_{i},y_{i})} gaat, is dan:

f ( x ) = i = 0 m y i i ( x ) {\displaystyle f(x)=\sum _{i=0}^{m}y_{i}\ell _{i}(x)}