Numeeriset menetelmät TIEA381 Luento 6 Kirsi Valjus Jyväskylän yliopisto Luento 6 () Numeeriset menetelmät 4.4.2013 1 / 33
Luennon 6 sisältö Interpolointi ja approksimointi Polynomi-interpolaatio: Vandermonden ja Lagrangen interpolaatiopolynomi Newtonin muoto interpolaatiopolynomille Interpolaatiovirheestä Luento 6 () Numeeriset menetelmät 4.4.2013 2 / 33
Luku 5: Interpolointi ja approksimointi Oletetaan, että emme tunne funktion f : R R analyyttistä lauseketta, vaan funktion arvoja on taulukoituna tietyissä pisteissä. Haluttaessa funktion arvo pisteessä jota ei ole taulukoitu, korvataan alkuperäinen funktio jollakin yksinkertaisemmalla funktiolla ja approksimoidaan tämän avulla funktion f arvoa halutussa pisteessä. Luento 6 () Numeeriset menetelmät 4.4.2013 3 / 33
Interpolointi Interpoloinnissa halutaan approksimoivan funktion p kuvaajan kulkevan taulukoitujen pisteiden (x i, y i ), y i := f (x i ) kautta, ts. p(x i ) = y i, i = 0,..., n. Tällöin interpolointi tuottaa funktion (interpolantin) p, joka approksimoi funktiota f muissa pisteissä x x i. - Interpolointi: piste x, jossa approksimaatio halutaan, on havaintopisteiden x i ja x j välissä. - Ekstrapolointi: piste x on havaintojen ulkopuolella (x < min{x i } tai x > max{x i }). Luento 6 () Numeeriset menetelmät 4.4.2013 4 / 33
Interpolointi Useat numeeriset menetelmät perustuvat interpoloinnin käyttöön (numeerinen integrointi, differentiaaliyhtälöiden numeeriset ratkaisumenetelmät, tietokonegeometria,...) Interpolantti valitaan yleensä jostakin yksinkertaisesta funktioluokasta, jotta se olisi helppo konstruoida. Yleisesti käytettyjä ovat polynomit, rationaalifunktiot ja paloittaiset polynomit. Tässä esityksessä rajoitutaan tapauksiin, joissa interpolantit ovat polynomeja tai paloittain polynomeja. Luento 6 () Numeeriset menetelmät 4.4.2013 5 / 33
Approksimointi (yleinen käyränsovitus) Ei vaadita pisteittäistä osuvuutta vaan tarkastellaan yleisemmin osuvuutta koko tarkasteluvälillä, ja etsitään funktiota p siten, että p f jollakin sopivalla normilla mitattuna (esim. PNS-sovitus). Luento 6 () Numeeriset menetelmät 4.4.2013 6 / 33
Olkoon annettu n + 1 kappaletta datapisteitä (x i, y i ), i = 0,..., n siten, että x i x j, kun i j. Etsitään interpolanttia p lineaarikombinaationa annetuista kantafunktioista ϕ 0,..., ϕ n, jolloin funktio p on muotoa p(x) = n a j ϕ j (x), j=0 missä kertoimet a 0,..., a n ovat vapaita parametreja. Luento 6 () Numeeriset menetelmät 4.4.2013 7 / 33
Polynomi-interpolaatio jatkuu Koska funktion p tulee toteuttaa interpolaatioehto p(x i ) = y i, i = 0,..., n, saadaan kertoimet a 0,..., a n lineaarisesta yhtälöryhmästä n a j ϕ j (x i ) = y i, i = 0,..., n. j=0 Yhtälöryhmä voidaan kirjoittaa matriisimuodossa missä X = (ϕ j (x i )) n i,j=0, ja y = [y 0, y 1,..., y n ] T. X a = y, a = [a 0, a 1,..., a n ] T Luento 6 () Numeeriset menetelmät 4.4.2013 8 / 33
Vandermonden interpolaatiopolynomi Suoraviivainen valinta kantafunktioiksi ϕ j on monomit ϕ j (x) = x j, j = 0,..., n, jolloin funktio p on n-asteinen polynomi. Matriisi X on tässä tapauksessa muotoa 1 x 0 x0 2 x0 3... x0 n X = (ϕ j (x i )) n i,j=0 = ((x i ) j ) n 1 x 1 x1 2 x1 3... x n 1 i,j=0 =. 1 x n xn 2 xn 3... xn n ja sitä sanotaan Vandermonden matriisiksi. Luento 6 () Numeeriset menetelmät 4.4.2013 9 / 33
Vandermonden interpolaatiopolynomi jatkuu Olkoon x 0, x 1,..., x n erisuuria reaali- (tai kompleksi-) lukuja ja y 0, y 1,..., y n vastaavat funktion arvot. Tutkitaan sellaisen polynomin olemassaoloa, jolle on voimassa interp.ehto p(x i ) = y i, i = 0,..., n. Lause 5.1 Olkoon annettu n + 1 datapistettä (x 0, y 0 )..., (x n, y n ), missä x i x j, kun i j. Tällöin on olemassa enintään astetta n oleva polynomi p, joka toteuttaa interp.ehdon p(x i ) = y i, i = 0,..., n. Tämä polynomi p on yksikäsitteinen korkeintaan astetta n olevien polynomien joukossa. Luento 6 () Numeeriset menetelmät 4.4.2013 10 / 33
Lauseen 5.1. todistus: Olemassaolo Olemassaolo Olkoon X pisteistöön liittyvä Vandermonden matriisi. Jos X z = 0 jollekin z R n+1, niin X z = 1 x 0 x0 2 x0 3... x n 0 z 0 z 0 + z 1 x 0 + z 2 x0 2 1 x 1 x1 2 x1 3... x1 n z 1 + + z nx0 n = 0.. = z 0 + z 1 x 1 + z 2 x1 2 + + z nx1 n = 0. 1 x n xn 2 xn 3... xn n z n z 0 + z 1 x n + z 2 xn 2 + + z n xn n = 0 eli polynomi, jonka kertoimet ovat z i, i = 0,..., n, on korkeintaan astetta n ja sillä on ainakin n + 1 nollakohtaa x i, i = 0,... n. Luento 6 () Numeeriset menetelmät 4.4.2013 11 / 33
Lauseen 5.1. todistus: Olemassaolo n.:n asteen polynomilla on täsmälleen n nollakohtaa Edellä saatiin, että polynomi, jonka kertoimet ovat z i, on korkeintaan astetta n ja sillä on ainakin n + 1 nollakohtaa. vektoria z vastaavan polynomin täytyy olla identtisesti nolla z = 0. Koska X z = 0 z = 0, on X kääntyvä. Yhtälöryhmällä X a = y on yksikäsitteinen ratkaisu. väite (interp.polynomin olemassaolo). Luento 6 () Numeeriset menetelmät 4.4.2013 12 / 33
Lauseen 5.1. todistus: Yksikäsitteisyys Yksikäsitteisyys Olkoon q mielivaltainen korkeintaan n-asteinen polynomi, joka myös toteuttaa interp.ehdon (q(x i ) = y i, i = 0,..., n ). Olkoon r := p q, jolloin r on enintään n-asteinen polynomi ja r(x i ) = p(x i ) q(x i ) = y i y i = 0, i = 0,..., n. Koska polynomilla r on n + 1 nollakohtaa, niin r(x) 0. Siis on oltava p = q. Luento 6 () Numeeriset menetelmät 4.4.2013 13 / 33
Vandermonden interpolaatiopolynomi jatkuu Vandermonden matriisi on häiriöaltis Interpolaatiopolynomia ei yleensä muodosteta Vandermonden matriisia käyttäen. Käyttämällä muita polynomikantoja monomien sijaan, voidaan interpolaatiopolynomi muodostaa suoraan ilman lineaarisen yhtälöryhmän ratkaisemista. Lauseen 5.1 mukaan päädytään aina samaan polynomiin kannasta riippumatta. Luento 6 () Numeeriset menetelmät 4.4.2013 14 / 33
Lagrangen interpolaatiopolynomi Interpolaatiopolynomin Lagrangen muoto saadaan valitsemalla kantafunktioiksi n-asteiset polynomit l j (x) = n ( x xk k=0 k j x j x k ), j = 0,..., n. Nyt saadaan ( ) ( ) ( ) x x1 x x2 x xn l 0 (x) =... = 0 x i, i > 0. x 0 x 1 x 0 x 2 x 0 x n ( ) ( ) ( ) x0 x 1 x0 x 2 x0 x n l 0 (x 0 ) =... = 1 x 0 x 1 x 0 x 2 x 0 x n Sama pätee kaikille l j. Luento 6 () Numeeriset menetelmät 4.4.2013 15 / 33
Lagrangen interpolaatiopolynomi jatkuu Saadaan siis eli l j (x i ) = δ ij = { 1, i = j 0, i j X = (l j (x i )) n i,j=0 = I, ja yhtälöryhmän X a = y ratkaisu on triviaalisti a = y, joten interpolaatiopolynomi saa muodon p(x) = n y j l j (x). j=0 Luento 6 () Numeeriset menetelmät 4.4.2013 16 / 33
Esimerkki 5.1. Luku 5: Interpolointi ja approksimointi l j (x) = n ( x xk k=0 k j x j x k ), j = 0,..., n. 1. asteen yleinen Lagrangen interp.polynomi (n = 1): ( ) ( ) x x1 x x0 l 0 (x) =, l 1 (x) = x 0 x 1 x 1 x 0 p 1 (x) = y 0 x x 1 x 0 x 1 + y 1 x x 0 x 1 x 0. Luento 6 () Numeeriset menetelmät 4.4.2013 17 / 33
Esimerkki 5.1. jatkuu 2. asteen yleinen Lagrangen interpolaatiopolynomi (n = 2): (x x 1 )(x x 2 ) p 2 (x) = y 0 (x 0 x 1 )(x 0 x 2 ) +y (x x 0 )(x x 2 ) 1 (x 1 x 0 )(x 1 x 2 ) +y (x x 0 )(x x 1 ) 2 (x 2 x 0 )(x 2 x 1 ). 2. asteen interpolaatiopolynomi, joka kulkee pisteiden (x 0, y 0 ) = (0, 1), (x 1, y 1 ) = ( 1, 2) ja (x 2, y 2 ) = (1, 3) kautta: p 2 (x) = 1 (x ( 1))(x 1) (0 ( 1))(0 1) + 2 (x 0)(x 1) (x 0)(x ( 1)) + 3 ( 1 0)( 1 1) (1 0)(1 ( 1)) = 1 + 1 2 x + 3 2 x2. Luento 6 () Numeeriset menetelmät 4.4.2013 18 / 33
Huomautus 5.1. Interpolaatiopolynomin olemassaolo tai muodostaminen edellä esitetyillä menetelmillä ei vaadi datapisteiden järjestämistä siten, että x i < x j, kun i < j. Tätä voidaan hyödyntää esimerkiksi silloin, kun datapisteitä lisätään myöhemmin interpolaation tarkkuuden parantamiseksi. Toisaalta tarpeeton epäjärjestys voi hämätä esimerkiksi dataa visualisoitaessa tai ohjelmaa debugattaessa. Luento 6 () Numeeriset menetelmät 4.4.2013 19 / 33
Newtonin muoto interpolaatiopolynomille Lagrangen interpolaatiopolynomin tapauksessa kertoimien a j laskeminen oli triviaalia, mutta kantafunktioiden l j lausekkeet olivat melko monimutkaisia. Parempi tasapaino kertoimien ja kantafunktioiden vaatiman laskennan välillä saadaan käyttämällä Newtonin kantafunktiota { 1, j = 0, π j (x) = j 1 k=0 (x x k), j = 1,..., n. Selvästi π j (x) = (x x 0 )(x x 1 )... (x x j 1 ) = 0, kun x = x i, i < j. Luento 6 () Numeeriset menetelmät 4.4.2013 20 / 33
Newtonin muoto interp.polynomille jatkuu Esimerkiksi tapauksessa n = 2, matriisi X on muotoa π 0 (x 0 ) π 1 (x 0 ) π 2 (x 0 ) X = (π j (x i )) 2 i,j=0 = π 0 (x 1 ) π 1 (x 1 ) π 2 (x 1 ) π 0 (x 2 ) π 1 (x 2 ) π 2 (x 2 ) 1 0 0 = 1 x 1 x 0 0. 1 x 2 x 0 (x 2 x 0 )(x 2 x 1 ) Eli X on alakolmiomatriisi. Luento 6 () Numeeriset menetelmät 4.4.2013 21 / 33
Newtonin muoto interp.polynomille jatkuu Interpolaatiopolynomi voidaan nyt esittää muodossa n p n (x) = a j π j (x) = a 0 + a 1 (x x 0 ) + j=0 + a 2 (x x 0 )(x x 1 ) + + a n (x x 0 )(x x 1 )... (x x n 1 ). Johdetaan seuraavaksi Newtonin muoto interpolaatiopolynomille. Luento 6 () Numeeriset menetelmät 4.4.2013 22 / 33
Newtonin muoto interp.polynomille jatkuu Muodostetaan n-asteinen interpolaatiopolynomi lisäämällä korjaustermi n 1-asteiseen interpolaatiopolynomiin: p n (x) = p n 1 (x) + C(x). (1) Nyt C(x) on enintään n-asteinen polynomi. Koska sekä p n että p n 1 interpoloivat dataa n:ssä ensimmäisessä pisteessä, C(x i ) = p n (x i ) p n 1 (x i ) = y i y i = 0, i = 0,..., n 1. polynomi C on muotoa C(x) = a n (x x 0 )(x x 1 )... (x x n 1 ). Luento 6 () Numeeriset menetelmät 4.4.2013 23 / 33
Newtonin muoto interp.polynomille jatkuu Nyt (1) p n (x) = p n 1 (x) + C(x) = p n 1 (x) + a n (x x 0 )(x x 1 )... (x x n 1 ). Koska p n (x n ) = y n, saadaan ratkaistua a n : a n = y n p n 1 (x n ) (x n x 0 )... (x n x n 1 ). Tätä kerrointa a n sanotaan funktion f kertalukua n olevaksi Newtonin jaetuksi differenssiksi ja merkitään f [x 0 ] := a 0 = f (x 0 ), f [x 0, x 1,..., x n ] := a n, n 1. Luento 6 () Numeeriset menetelmät 4.4.2013 24 / 33
Newtonin muoto interp.polynomille jatkuu Interpolaatiopolynomille saadaan siten muoto p n (x) = p n 1 (x) + (x x 0 )... (x x n 1 )f [x 0,..., x n ]. Tästä saadaan Newtonin muoto interpolaatiopolynomille: p 0 (x) = f [x 0 ] (= a 0 = f (x 0 ) ) p 1 (x) = p 0 (x) + (x x 0 )f [x 0, x 1 ], = f [x 0 ] + (x x 0 )f [x 0, x 1 ],. p n (x) = f [x 0 ] + (x x 0 )f [x 0, x 1 ] + (x x 0 )(x x 1 )f [x 0, x 1, x 2 ] + + (x x 0 )... (x x n 1 )f [x 0,..., x n ]. Luento 6 () Numeeriset menetelmät 4.4.2013 25 / 33
Newtonin muoto interp.polynomille jatkuu Aikaisemmin: p n (x) = n a j π j (x) = a 0 + a 1 (x x 0 ) + j=0 + a 2 (x x 0 )(x x 1 ) + + a n (x x 0 )(x x 1 )... (x x n 1 ) Edellisellä kalvolla: a 0 a {}}{ 1 a {}}{{}} 2 { p n (x) = f [x 0 ] +(x x 0 ) f [x 0, x 1 ] +(x x 0 )(x x 1 ) f [x 0, x 1, x 2 ] + + (x x 0 )... (x x n 1 ) f [x 0,..., x n ]. }{{} a n Ts. jaetut differenssit antavat kertoimet a j. Luento 6 () Numeeriset menetelmät 4.4.2013 26 / 33
Lause 5.2. Luku 5: Interpolointi ja approksimointi Jaetuille differensseille on voimassa (j 1, i = 0,.., j 1): f [x i, x i+1,..., x j ] = f [x i+1,..., x j ] f [x i,..., x j 1 ] x j x i. Taulukkoesitys havainnollistaa jaettujen differenssien konstruointia (tässä f [x i ] = f (x i ), i = 0,..., n): x 0 f [x 0 ] f [x 0, x 1 ] f [x 0, x 1, x 2 ] f [x 0, x 1, x 2, x 3 ] x 1 f [x 1 ] f [x 1, x 2 ] f [x 1, x 2, x 3 ] x 2 f [x 2 ] f [x 2, x 3 ] x 3 f [x 3 ] Luento 6 () Numeeriset menetelmät 4.4.2013 27 / 33
Etenevät differenssit Olkoon funktio f taulukoitu välillä [a, b] tasavälisessä pisteistössä x j = a + jh, j = 0,..., n, h = b a n. Määritelmä Olkoon annettu tasavälinen pisteistö x j ja olkoon f j = f (x j ). Etenevä differenssi i f j on luku { f i j, i = 0 f j = i 1 f j+1 i 1 f j, i > 0. Luento 6 () Numeeriset menetelmät 4.4.2013 28 / 33
Etenevät ja takenevat differenssit jatkuu Nyt Newtonin muoto interpolaatiopolynomille voidaan muodostaa seuraavasti: ( ) s p n (x 0 + sh) = p n 1 (x 0 + sh) + n f 0 n ( ) s missä s = (x x 0 )/h R ja on binomifunktio i ( ) s = i 1, i = 0, i 1 s l l + 1, i > 0. l=0 Luento 6 () Numeeriset menetelmät 4.4.2013 29 / 33
Interpolaatiovirheestä Jos funktio f korvataan interpolaatiopolynomilla p n, niin yleensä f (t) p(t), jos t ei ole interpolaatiopiste. Interpolaatiovirhettä voidaan arvioida seuraavan lauseen avulla. Lause 5.3 Olkoon f C (n+1) ([a, b]) ja olkoon p P n interpolaatiopolynomi siten, että p(x i ) = f (x i ), i = 0,..., n, missä a x 0 < x 1 <... < x n b. Tällöin jokaiselle x ]a, b[ on olemassa ξ x ]a, b[ siten, että 1 n f (x) p(x) = (n + 1)! f (n+1) (ξ x ) (x x i ). i=0 Luento 6 () Numeeriset menetelmät 4.4.2013 30 / 33
Interpolaatiovirheestä jatkuu Tasaväliselle pisteistölle edellinen lause voidaan esittää myös seuraavassa muodossa. Lause 5.4 Olkoon a = x 0 < x 1 < < x n = b tasavälinen pisteistö, h = x i+1 x i ja f C (n+1) ([a, b]). Silloin f (t) p n (t) M n 4(n + 1) hn+1, t [a, b], missä M n = max f (n+1) (x). x [x 0,x n] Luento 6 () Numeeriset menetelmät 4.4.2013 31 / 33
Esimerkki 5.5 Luku 5: Interpolointi ja approksimointi Lause 5.4.: f (t) p n (t) M n 4(n + 1) hn+1, M n = max f (n+1) (x). x [x 0,x n] Olkoon f (x) = sin x, x 0 = 0 ja x n = π. Tällöin max f (t) p n (t) 1 h n+1, t [x 0,x n] joten polynomi p n suppenee tasaisesti kohti funktiota f välillä [0, π], kun interpolaatiopisteiden lukumäärää n kasvatetaan rajatta. Luento 6 () Numeeriset menetelmät 4.4.2013 32 / 33
Interpolaatiovirheestä jatkuu Lauseen 5.4. epäyhtälöä on käytettävä varoen, sillä vakio M n yleensä riippuu myös interp.polynomin asteesta n. Lisäksi vakion M n laskeminen mielivaltaiselle funktiolle f on käytännössä aivan liian työlästä. Funktion f sileys ja datapisteiden paljous ei takaa pientä interpolaatiovirhettä, kuten seuraava klassinen Rungen esimerkki osoittaa. Luento 6 () Numeeriset menetelmät 4.4.2013 33 / 33