Polynominen interpolaatio

testwikistä
Versio hetkellä 3. toukokuuta 2023 kello 00.25 – tehnyt imported>Dionysoscriptorium (growthexperiments-addlink-summary-summary:3|0|0)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

Polynominen interpolaatio eli polynomi-interpolaatio on matematiikassa approksimaatiomenetelmä, jossa sovituskäyrinä käytetään polynomeja. Polynomisella interpolaatiolla halutaan yleensä laskea tunnettujen pisteiden välistä puuttuvia pisteitä tai sovittamaan pisteiden väleihin sileä ja jatkuva käyrä. Toisinaan sovitetaan mutkikkaalle funktiolle helpommin laskettava polynomi, jolla funktion arvot voidaan approksimoida nopeasti.[1][2][3]

Polynominen interpolaatio on tehokas menetelmä, jos interpoloitavia pisteitä on vähän. Suuri pistejoukko vaatii polynomin, jolla on korkea asteluku ja sellainen polynomi heilahtelee paljon. Alemmilla asteluvuilla heilahtelua on vain vähän ja sen laskeminen on helppoa. Interpoloitava pistejoukko jaetaankin ryhmiin, joihin sovitetaan erilaisia matala-asteisia polynomeja. Silloin eri polynomien yhtymiskohdissa käyrä on jatkuva, mutta sen derivoituvuus puuttuu. Tätä varten voidaan sovitusalgoritmiin lisätä derivoituvuusehtoja, jolloin käyristä tulee jokaisessa kohdassa sileä. On kehitelty monia menetelmiä, jotka sopivat eri tilanteisiin paremmin ja erilaisia polynomiluokkia, jotka täyttävät kulloinkin vaaditut ominaisuudet.[4][5]

Jotta polynomin kuvaaja kulkisi kaikkien annettujen pisteiden kautta, tulisi polynomin asteluku olla yhtä pienempi kuin pisteiden lukumäärä. Silloinkin, jos pisteitä sijaitsee päällekkäin tai ne ovat esimerkiksi kollineaarisia, tullaan toimeen alemmallakin asteluvulla. Kun kertoimien laskentamenetelmä on valittu, on saatu interpolaatiopolynomi yksikäsitteinen.[4]

Ensimmäisen asteen polynomi

Lineaarinen interpolaatio toteutetaan joko sovittamalla suoran yhtälö kahden pisteen välille tai luomalla Lagrangen polynomi kahdelle pisteelle. Kun kaksi pistettä merkitään (x0,y0) ja (x1,y1) ja y-koordinaateilla tarkoitetaan funktion y=f(x) arvoja, voidaan suoran yhtälöllä muodostaa ensimmäisen asteen polynomi [6]

f(x)y1y0x1x0(xx0)+y0. [1][6]

Toinen tapa muodostaa kahden pisteen kautta kulkeva polynomi on luoda lausekkeet, jotka saavat arvon nolla toisen pisteen sijoituksesta ja oman y-koordinaatin omassa kohdassa. Silloin

y0xx1x0x1 on nolla sijoituksella x1 ja y0 sijoituksella x0

ja

y1x0xx0x1 on nolla sijoituksella x0 ja y1 sijoituksella x1.

Polynomi saadaan näiden lausekkeiden summana

f(x)y0xx1x0x1+y1x0xx0x1. [6]

Se antaa tulokseksi saman ensimmäisen asteen interpolaatiopolynomin kuin edellinenkin menetelmä. Viimeistä muotoa kutsutaan myös Lagrangen polynomiksi.[6]

Toisen asteen polynomi

Toisen asteen interpolointi voidaan toteuttaa joko sovittamalla toisen asteen polynomin käyrää eli paraabeli kolmelle pisteelle tai soveltamalla Lagrangen menetelmää. Toisen asteen interpolointi kolmelle pisteelle (x0,y0), (x1,y1) ja (x2,y2) voidaan suorittaa viimeksi mainitulla tavalla. Muodostetaan lausekkeet, jotka antavat arvoksi nolla muissa pisteissä paitsi "omassa" pisteessä. Seuraava termi on nolla, kun siihen sijoitetaan x1 tai x2, mutta se on y0, kun siihen sijoitetaan x0

y0(xx1)(xx2)(x0x1)(x0x2).

Polynomi saadaan kolmella termillä

f(x)y0(xx1)(xx2)(x0x1)(x0x2)+y1(xx0)(xx2)(x1x0)(x1x2)+y2(xx0)(xx1)(x2x0)(x2x1). [7][6]

Näitä interpolaatiopolynomeja voi liittää moneen peräkkäisen kolmen pisteen sarjoihin. Jos pisteet ovat kollineaarisia, tulee polynomista ensimmäistä astetta. Jos pisteet eivät ole kollineaarisia, tulee siitä toisen asteen interpolaatiopolynomi. Esitettyä muotoa kutsutaan Lagrangen polynomiksi.[6]

Lagrangen interpolaatio

Malline:Pääartikkeli Lagrangen interpolaatio luodaan käyttämällä yleistä Lagrangen interpolaatiopolynomia. Se voidaan kirjoittaa muodossa [6]

p(x)=y0L0(x)+y1L1(x)++ynLn(x),

missä ensimmäinen kantapolynomi L0(x) on

L0(x)=(xx1)(xx2)(xxn)(x0x1)(x0x2)(x0xn)

ja i. kantapolynomi on

Li(x)=(xx1)(xx2)(xxi1)(xxi+1)(xxn)(xix1)(xix2)(xixi1)(xixi+1)(xixn).

Polynomin aste on korkeintaan n, jos pisteitä on n+1. Mikäli osa pisteistä ovat samoja tai ne ovat kollineaarisia, laskee polynomin asteluku alle n. Lagrangen interpolaatiopolynomi on vaikea laskea tietokoneella, sillä pyöristysvirheet aiheuttavat joskus yli- tai alivuotoa.[4]

Newtonin interpolaatio

Malline:Pääartikkeli Newtoinin interpolaatiomenetelmässä polynomille haetaan kertoimet muodossa

P(x)=a0+a1(xx0)+a2(xx0)(xx1)++an(xx0)(xx1)(xxn1).

Kertoimet määräytyvät ehdosta

P(xi)=yi, (i{0,1,,n1}),

joka johtaa rekursiivisesti ratkeavaan yhtälöryhmään

y0=a0y1=a0+a1(x1x0)y2=a0+a1(x2x0)+a2(x2x0)(x2x1)y3=a0+a1(x3x0)+a2(x3x0)(x3x1)+a3(x3x0)(x3x1)(x3x2)=yn=a0+a1(xnx0)++an(xnx0)(xnxn1)

Yhtälöryhmän ratkaiseminen voidaan järjestää taulukossa, jota kutsutaan Newtonin erotustaulukoksi.[4][8][9]

Newtonin menetelmä on melko suoraviivainen tapa laskea polynomin kertoimet. Kun uuden pisteen lisääminen johtaa Lagrangen menetelmässä uuteen laskutehtävään, tulee Newtonin menetelmässä lisätä vain uusi rivi ja suorittaa sille pikkulaskuja.[9]

Lähteet

Viitteet

Malline:Viitteet

Aiheesta muualla

  1. 1,0 1,1 Viittausvirhe: Virheellinen <ref>-elementti; viitettä py_79 ei löytynyt
  2. Viittausvirhe: Virheellinen <ref>-elementti; viitettä Interpolation ei löytynyt
  3. Viittausvirhe: Virheellinen <ref>-elementti; viitettä Interpolant ei löytynyt
  4. 4,0 4,1 4,2 4,3 Viittausvirhe: Virheellinen <ref>-elementti; viitettä rk56 ei löytynyt
  5. Viittausvirhe: Virheellinen <ref>-elementti; viitettä SmoothFunction ei löytynyt
  6. 6,0 6,1 6,2 6,3 6,4 6,5 6,6 Viittausvirhe: Virheellinen <ref>-elementti; viitettä apiola ei löytynyt
  7. Viittausvirhe: Virheellinen <ref>-elementti; viitettä py_84 ei löytynyt
  8. Viittausvirhe: Virheellinen <ref>-elementti; viitettä alg_newt ei löytynyt
  9. 9,0 9,1 Viittausvirhe: Virheellinen <ref>-elementti; viitettä kv ei löytynyt