Interpolering är inommatematiken en metod för att generera nya datapunkter från endiskretmängd av befintliga datapunkter, det vill säga beräkning av funktionsvärden som ligger mellan redan kända värden.[1]
Inomingenjörsvetenskap och annanvetenskap genomförs ofta olika praktiska experiment som resulterar i en mängd datapunkter och från dessa punkter försöker man skapa enfunktion som beskriver punkterna så bra det går, detta kallaskurvanpassning. Interpolation är ett specialfall av detta, där funktionen måste gå exakt genom de givna datapunkterna.
Anta att har funktionsvärdena är kända i olika punkter. Då söks en funktion sådan att
och sägs dåinterpolera f i punkterna.
Den interpolerande funktionen kan användas för att approximera. Om x ligger utanför intervallet kallas detextrapolation.
Om endast är känt som närmevärden kan det vara olämpligt att kräva att en funktion som går exakt genom dessa vissa punkter. Då kan det vara bättre att använda en approximationsmetod för att anpassa en kurva till mätdata.Interpolation är också en numerisk metod för att bestämma en funktions nollställe. Andra metoder såsomintervallhalveringsmetoden och/ellerNewtons metod kan också användas. Vid interpolation utgår man från två x-värden för vilka man vet att en given funktions nollställe ligger mellan dessa, antar man en ny approximation för nollstället, vars avstånd i x-led från en av de tidigare punkterna är proportionerligt mot förhållandet av de respektive funktionsvärdena för de ursprungliga två x-värdena. Den nya approximationen ersätter ett av de ursprungliga x-värdena vartefter processen upprepas till dess önskad noggrannhet uppnåtts.
Antag att vi har en tabell som ger några värden till en känd eller okänd funktionf.
Plot av data givet i tabellen.
x
f(x)
0
0
1
0
.
8415
2
0
.
9093
3
0
.
1411
4
−0
.
7568
5
−0
.
9589
6
−0
.
2794
Med hjälp av interpolation kan man uppskatta funktionsvärdet i en mellanliggande punkt, till exempelx = 2.5.
Det finns flera metoder vid interpolation, några tas upp här nedan. När man väljer vilken metod bör man tänka på hur noggrann metoden är, hur beräkningskrävande den är, hurglatt interpolanten är, och hur många datapar som är nödvändiga.
Givetn+1 st datapunkter finns ett entydigt polynom av grad mindre eller lika med n, så att.
Det finns flera sätt att ansätta. Med Newtons interpolationspolynom ser ansatsen ut som:
och det smidiga med denna ansats är att det blir enkelt att bestämma konstanterna C, som vid n=2 bestäms ur:
vilket är ett lösbart system om.
En nackdel med interpolationspolynom av hög grad kan vara att de kan variera kraftigt mellan punkterna i början och slutet av intervallet. Detta kallasRunges fenomen. Om man har möjlighet att själv välja interpolationspunkter kan detta undvikas genom att ha ett tätare avstånd mellan interpolationspunkterna i början och slutet av intervallet än i mitten av intervallet.[2]
Ett annat sätt att undvika Runges fenomen när man har många mätpunkter att arbeta med är att byta interpolationsfunktion mellan interpolationspunkterna. Det enklast sättet är kanske att anpassa enrät linje mellan varje par av punkter. Det kallas linjär interpolation. I punkterna blir då ingenderivata definierad och resultatet kan se "hackigt" ut.
Interpolation med linjär funktion
Linjär interpolation är inte lämpligt omf böjer sig mycket, om är stor, eftersom det ger upphov till ett storttrunkeringsfel.
Det går dock att anpassapolynom av högre gradtal till interpolationspunkterna. Hermite-interpolation kan användas om derivatan är känd i interpolationspunkerna.
Om derivatan inte är känd i interpolationspunkerna går det ändå att få en mindre "hackig" funktion genom att ställa krav på kontinuitet i polynomens derivator i interpolationspunkterna. Kubiskasplines är tredjegradspolynom med kontinuerlig första- och andraderivata i interpolationspunkerna. Namnet kommer ifrån att konstruktörer använde sig av elastiska linjaler (splines på engelska) som tvingades in mellan interpolationspunkterna som markerades med stift på en skiva.