Interpolácija je v matematiki približna vrednost funkcije znotraj obsega znanih nepovezanih vrednosti neodvisne spremenljivke. Imejmo na primer naslednjo tabelo vrednosti fukcije

Vidimo, da lahko odvisnost f(x) prilegamo s funkcijo x². V splošnem pri interpolaciji ni tako. Radi bi vedeli vrednost funkcije f(x), ki odgovarja x = 1,7. Najenostavnejša je linearna interpolacija med vrednostmima za x = 1 in x = 2:

Če je osnovna funkcija res , je prava rešitev seveda

Na ta način po navadi interpolacija ni natančna. Zaradi tega lahko interpolacijo uporabimo kot učinkovit algoritmski postopek za 'ugibanje' številskih vrednosti, ki manjkajo, za spajanje točk v grafičnem prikazu, iskanje najboljšega prilega premic njihovim nagibom. V bistvu jo lahko uporabimo vsakokrat kadar želimo pretvoriti nezvezen niz podatkov v zvezno funkcijo.

Pri ekstrapolaciji za razliko iščemo vrednosti funkcije zunaj danega obsega znanih vrednosti. Moramo biti pazljivi, ker tukaj rezultati niso vedno smiselni.

Interpolacijski algoritmi

uredi

Pri iskanju ustreznega algoritma za interpolacijo vrednosti je potrebno upoštevati več stvari. Na primer kako dobro želimo prilagoditi funkcijo, koliko vrednosti želimo uporabiti za prilagajanje.

Interpolacijski postopki

uredi

Primerjajmo nekaj splošno uporabljanih interpolacijskih algoritmov, da dobimo vpogled kdaj je kakšen uporaben. V primerih bomo označili zaporedne vrednosti v ciljnem podatkovnem nizu kot   in vrednost, ki jo interpoliramo kot  . Tako je naša funkcija

 

 

Primer linearne interpolacije

uredi

Najpreprostejši postopek je linearna interpolacija, v angleških virih tudi označen z navideznim akronimom lerp.

Imamo dve vrednosti v točkah   in  . Potem določimo približni vrednosti z uteženo srednjo vrednostjo med dvema točkama, ki sta odvisni od vrednosti  . To nam da:

 

Ta algoritem je hiter in enostaven. Težava je, ker dobljena funkcija ni zvezno odvedljiva (oziroma ni odvedljiva pri  ).

Primer interpolacije s kosinusom

uredi

Ta algoritem je malo obsežnejši od linearne interpolacije, vendar ne preveč.

Tukaj vzamemo dve vrednosti in z vrednostjo za   izračunamo kosinus na intervalu  , preslikamo v  , kar se na koncu preslika v točki   in  .

 

 

To je le malo boljše od linearne interpolacije. Dobljena funkcija je sicer zvezno odvedljiva, toda odvedljivost je napovedljiva, ker je interpolacija še vedno linearna (odvod je v   zmeraj enak nič).

Primer kubične interpolacije

uredi

Kubični algoritem je primer polinomske interpolacije. Ker je število potrebnih koeficientov za izračun kubične funkcije le štiri, je to število členov v večini primerov dovolj.

Aproksimacijski polinom lahko zapišemo v obliki:

 

kjer se   preslika na točke

 

 

 

 

Sedaj enačbe rešimo za   in  , da dobimo:

 

 

 

 

Z zgornjimi koeficienti tvorimo polinom in ga izračunamo za izbrani  .

 

Čeprav moramo tukaj najprej izračunati koeficiente krivulje, je ta postopek veliko natančnejši od linearne interpolacije.

Interpolacija v višjih razsežnostih

uredi
 
Primerjava različnih postopkov interpolacije v eni (zgoraj) in dveh razsežnostih (spodaj): po metodi najbližjega soseda (levo), linearna (v sredini) in kubična (desno)

Večrazsežni interpolacijski postopki so posebej prilagojeni od interpolacije vzdolž številskih premic do interpolacije vzdolž ravnin, prostornin ali celo višjih razsežnosti polj numeričnih podatkov.

Dve razsežnosti

uredi

Zgodovina

uredi

Glej tudi

uredi