Numerieke Wiskunde XII:
Interpolatie via een polynoom door alle meetpunten
Stel: je hebt een lijst meetpunten en je wilt weten wat de wilt weten wat een meetwaarde is die tussen twee punten in ligt.
Om dat op te lossen zijn er diverse mogelijkheden, waaronder:
• Bereken een regressielijn, polynoom,
machtsfunctie of exponentiële functie
met behulp van de kleinste kwadraten methode, en gebruik die om de gezochte 'meetwaarde' te vinden.
• Bereken het 'exacte' polynoom door de meetpunten en gebruik die om de gezochte 'meetwaarde' te vinden. De graad
van dit polynoom is één lager dan het aantal meetpunten.
• Bereken een rechte lijn tussen de twee dichtstbijzijnde meetpunten en gebruik die om de gezochte 'meetwaarde'
te vinden (Lineaire interpolatie).
• Bereken een parabool door de drie dichtstbijzijnde meetpunten en gebruik die om de gezochte 'meetwaarde' te vinden
(Driepunts-interpolatie).
- Op deze pagina gaat het over het berekenen van het 'exacte' polynoom om de gezochte 'meetwaarde' te vinden.
- Het is bewezen dat er precies één polynoom van de graad
n
gaat doorn+1
meetpunten. - Stel: je hebt
n+1
punten, genummerd(x0,y0)
,(x1,y1)
,(x0,y0)
, .....,(xn,yn)
, Elk van die punten ligt op hetzelfde polynoom. Er moet dan gelden:y0
= a0
+
a1·x0
+
a2·x02
+
a3·x03
+
....
+
an·x0n
y1
= a0
+
a1·x1
+
a2·x12
+
a3·x13
+
....
+
an·x1n
y2
= a0
+
a1·x2
+
a2·x22
+
a3·x23
+
....
+
an·x2n
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
yn
= a0
+
a1·xn
+
a2·xn2
+
a3·xn3
+
....
+
an·xnn
yn
= a0
+
a1·xn
+
a2·xn2
+
a3·xn3
+
....
+
an·xnn
- Dit is een stelsel van
n+1
vergelijkingen metn+1
onbekenden. De onbekenden hierin zijn:a0
,a1
,a2
,....
,an
. Het stelsel kan worden beschreven in matrix-vector notatie door:1
x0
x02
x03
....
x0n
·
a0
=
y0
1
x1
x12
x13
....
x1n
a1
y1
1
x2
x22
x23
....
x2n
a2
y2
¦
¦
¦ ¦
¦
¦
¦
1
xn
x22
xn3
....
xnn
a2
yn
- Dit is eenduidig oplosbaar, bijvoorbeeld met behulp van LU-decompositie.
- Als
x
niet tussenx0
enxn
ligt, is er sprake van extrapolatie. Dat is riskant, omdat de uitkomst onnauwkeurig wordt. - Achteraf moet worden gecontroleerd of het gevonden polynoom voldoet aan voorwaarden die op grond van de metingen zouden
kunnen worden verwacht. Als het proces waaraan wordt gemeten een reeks monotoon stijgende of dalende trend laat zien, zal
de interpolatie wel goed gaan. Als er een maximum of minimum is te zien, kan de interpolatie ontsporen, zoals het uitgewerkte
voorbeeld laat zien …
Een uitgewerkt voorbeeld
Vraag: geven is de set van zes meetpunten:
(x,y) = (-0.5,3.40625); (0.0,2.0); (0.5,-0.03125); (1.0,-4.0);
.
(1.5,-8.96875); (2.0,-8.0)
Wat is de waarde voor x = 1.72
?
Uitwerking: Er zijn zes meetpunten, zie de figuur hiernaast.
De punten worden genummerd 0 t.m. 5. Het is dus mogelijk een vijfde-orde te bepalen, dat exact door deze punten gaat. Daarvoor
moet een stelsel van zes vergelijkingen met zes onbekenden worden opgelost.
Dat stelsel wordt hier onder getoond. De indices i
staan in de eerste kolom. De machten van x
staan
in de rij met koppen.
i | x0 | x1 | x2 | x3 | x4 | x5 | y | |||||||||
0 | 1 | -0.5 | 0.25 | -0.125 | 0.0625 | -0.03125 | · | a0 |
= | 3.40625 |
||||||
1 | 1 | 0.0 | 0.00 | 0.000 | 0.0000 | 0.00000 | a1 |
2.0 |
||||||||
2 | 1 | 0.5 | 0.25 | 0.125 | 0.0625 | 0.03125 | a1 |
-0.03125 |
||||||||
3 | 1 | 1.0 | 1.00 | 1.000 | 1.0000 | 1.00000 | a1 |
-4.0 |
||||||||
4 | 1 | 1.5 | 2.25 | 3.375 | 5.0625 | 7.59375 | a1 |
-8.96875 |
||||||||
5 | 1 | 2.0 | 4.00 | 8.000 | 16.0000 | 32.00000 | a1 |
-8.0 |
- Heel eenvoudig is te zien dat
a0
= 2. Dit gebeurt omdatx1
= 0; het is zeker geen algemene regel! - Als je dit stelsel oplost, kom je uit op:
a0
= +2;a1
= -3;a2
= -1;a3
= -2;a4
= -1;a5
= +1. - Daarmee is het interpolatie-polynoom:
y = 2 - 3x - x2 - 2x3 - x4 + x5
. - Voor
x
= 1.72 isy
= -9.993761998. -
Zie de figuur hiernaast. Het polynoom heeft een extreme waarde in het meetgebied, vlakbij de waarde
x
= 1.72. - Net voorbij
x
= 2.0 schiet het polynoom heel snel omhoog. Samen met het minimum vlakbijx
= 1.72 is dat een aanwijzing dat de interpolatie dichtbij het minimum niet erg nauwkeurig zal zijn.
- Opmerking: De gevonden waarde van
y
ligt buiten de range van gemeteny
-waarden. en wijkt daarom af van de verwachting. Ga er maar vanuit dat de gevonden waarde vany
niet klopt …
- Natuurlijk is er ook een applicatie om hier zelf mee aan de slag te gaan. Klik op de knop hiernaast.
- De applicatie kan datasets van maximaal zeven punten aan.
- De code van de applicatie kun je downloaden om zelf aan door te ontwikkelen.
- Als je verder wilt werken aan de applicatie, download je de .zip-file en pak je hem uit. Je hebt dan meteen een werkend voorbeeld.
Downloaden:
Druk op de knop:
File: voorb663.zip, 4376 bytes.