Pojdi na vsebino

Interpolacija

Iz Wikipedije, proste enciklopedije

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 | uredi kodo]

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 | uredi kodo]

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 | uredi kodo]

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 | uredi kodo]

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 | uredi kodo]

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 | uredi kodo]
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 | uredi kodo]

Zgodovina

[uredi | uredi kodo]

Glej tudi

[uredi | uredi kodo]