Numeeriset menetelmät Luento 11 Ti 11.10.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 1/34 p. 1/34
Automaattiset integrointialgoritmit Numeerisen integroinnin tarkkuuteen vaikuttaa valitun menetelmän tarkkuusaste d käytetyn osavälin pituus h Automaattinen integrointialgoritmi valitsee sellaisen menetelmän, joka sopii kyseiselle tehtävälle Adaptiivinen integrointialgoritmi määrää osavälien pituudet siten, että ennalta asetettu tarkkuusvaatimus toteutuu Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 2/34 p. 2/34
Adaptiiviset integrointialgoritmit Käytetään yhtä tai useampaa yksinkertaista integrointikaavaa Määrätään automaattisesti osavälien pituudet siten, että ennalta asetettu tarkkuusvaatimus toteutuu Integroitava funktio tasainen : pidempi osavälin pituus Integroitava funktio epätasainen : lyhyempi osavälin pituus Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 3/34 p. 3/34
Yksinkert. adaptiivinen int.alg. Väli [a, b], osavälit [x i, x i+1 ] Osavälien pituudet h i = x i+1 x i Integraalit I = b a f(x)dx, I i = xi+1 x i n n I = I i, h i = b a f(x)dx i=1 i=1 Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 4/34 p. 4/34
Yksinkert. adaptiivinen int.alg. Yleinen periaate: Lasketaan kaksi approksimaatiota P i I i ja Q i I i Arvioidaan tarkkuutta P i :n ja Q i :n avulla Jos tarkkuus on riittävä, hyväksytään I i :n approksimaatioksi jompi kumpi P i :stä tai Q i :stä (se kumpi on tarkempi) Jos tarkkuus ei ole riittävä, puolitetaan osaväli ja toistetaan sama molemmissa puolikkaissa Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 5/34 p. 5/34
Yksinkert. adaptiivinen int.alg. P i = I i :n approksimaatio, joka on saatu soveltamalla jotain integrointikaavaa osavälille (yksi askel h i ) Q i = I i :n approksimaatio, joka on saatu soveltamalla samaa integrointikaavaa puolta lyhyemmälle osavälille (kaksi askelta h i /2) Oletetaan, että I i P i Ch p+1 i missä p on tunnettu ja C on tuntematon vakio Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 6/34 p. 6/34
Yksinkert. adaptiivinen int.alg. I i Q i 2C ( hi I i P i Ch p+1 i 2 ) p+1 1 = 2 pchp+1 i 1 2 p(i i P i ) 2 p (Q i I i ) P i I i 2 p (Q i I i ) (Q i I i ) P i Q i Q i I i 1 2 p 1 (P i Q i ) Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 7/34 p. 7/34
Yksinkert. adaptiivinen int.alg. Q i I i 1 2 p 1 (P i Q i ) Olkoon ε tarkkuusvaatimus koko välille [a, b] : Olkoon voimassa n (Q i I i ) ε i=1 1 2 p 1 (P i Q i ) h i b a ε Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 8/34 p. 8/34
Yksinkert. adaptiivinen int.alg. n (Q i I i ) n Q i I i i=1 n i=1 = ε b a i=1 1 2 p 1 P i Q i n i=1 h i = ε n i=1 h i b a ε Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 9/34 p. 9/34
Yksinkert. adaptiivinen int.alg. Siis: Tarkkuusvaatimus toteutuu, eli osaväli h i on tarpeeksi lyhyt, jos 1 2 p 1 (P i Q i ) h i b a ε Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 10/34 p. 10/34
Simpsonin sääntöön per. adapt. Alkuarvo osavälin pituudelle h 0 = (b a)/4n Lasketaan integraali a+4h0 a f(x)dx = a+2h0 a f(x)dx + a+4h0 a+2h 0 f(x)dx Simpsonin säännöllä (kahdessa osassa) Simpsonin säännön virhe yhdellä osalla: E[f] = 1 90 h5 0f (4) (η), η osa Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 11/34 p. 11/34
Simpsonin sääntöön per. adapt. I 0 = a+2h0 a f(x)dx + a+4h0 a+2h 0 f(x)dx (f 0 + 4f 1 + 2f 2 + 4f 3 + f 4 ) I 0 h 3 missä f j = f(a + jh 0 ), j = 0, 1, 2, 3, 4 Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 12/34 p. 12/34
Simpsonin sääntöön per. adapt. Arvioidaan derivaattaa etenevien differenssien avulla: f (4) (η) f (4) (a + 2h 0 ) 4 f 0 h 4 0 = f 4 4f 3 + 6f 2 4f 1 + f 0 h 4 0 Arvio virheelle (molemmilla osilla yhteensä): E[f] i = 2 1 90 h5 0 f (4) (η) h 0 45 4 f 0 Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 13/34 p. 13/34
Simpsonin sääntöön per. adapt. Olkoon ε tarkkuusvaatimus koko välille [a, b] Olkoon voimassa Kokonaisvirhe n n E[f] i i=1 4 f 0 180 b a ε i=1 h 0 45 4 f 0 = 4n b a h 0ε = ε n i=1 h 0 45 180 b a ε Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 14/34 p. 14/34
Simpsonin sääntöön per. adapt. Siis: Tarkkuusvaatimus toteutuu, jos 4 f 0 180 b a ε ( ) missä 4 f 0 = f 4 4f 3 + 6f 2 4f 1 + f 0 Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 15/34 p. 15/34
Simpsonin sääntöön per. adapt. Jos ( ) ei voimassa: I 0 :n arvoa ei hyväksytä Asetetaan h 0 := h 0 /2 Uusitaan integrointi Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 16/34 p. 16/34
Simpsonin sääntöön per. adapt. Jos ( ) voimassa: I 0 lisätään kokonaisintegraalin arvoon Asetetaan a := a + 4h 0 Jos lisäksi ( ):n vasen puoli < 1/16 oikea puoli, asetetaan h 0 := 2h 0 Jos a + 4h 0 > b, niin h 0 :aa täytyy pienentää, esimerkiksi h 0 := min{h 0, (b a)/4} Integroidaan seuraava osaväli Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 17/34 p. 17/34
Simpsonin sääntöön per. adapt. Jatketaan, kunnes koko väli [a, b] integroitu Menetelmän toteutuksessa: Kannattaa laskea myös käytettyjen funktiokutsujen lukumäärä Laskutoimitukset kannattaa järjestää siten, että funktiokutsuja tehdään mahdollisimman vähän Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 18/34 p. 18/34
Numeerinen derivointi Jos funktion analyyttinen lauseke käytettävissä analyyttinen derivointi periaatteessa mekaaninen toimenpide (vrt. analyyttinen integrointi: hankalaa tai mahdotonta) Jos joudutaan derivoimaan numeerisesti yksinkertaiset numeeriset derivointikaavat epästabiileja (vrt. numeerinen integrointi: helpohkoa) Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 19/34 p. 19/34
Numeerinen derivointi Jos funktion arvo tunnetaan ennaltamäärätyissä pisteissä funktiolle voidaan muodostaa interpolaatiopolynomi (esim. splineillä) derivoidaan interpolaatiopolynomi analyyttisesti Sopii hyvin, jos pisteitä, joissa derivaatan arvo halutaan, on paljon pisteistö ei ole tasavälinen Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 20/34 p. 20/34
Taylorin sarjakehitelmä Olkoon f : R R äärettömän monta kertaa jatkuvasti differentioituva Taylorin sarjakehitelmä: f(x) = f(y) + f (y)(x y) + 1 2 f (y)(x y) 2 + + 1 n! f(n) (y)(x y) n + 1 (n + 1)! f(n+1) (ξ)(x y) n+1 missä ξ ]x, y[ tai ξ ]y, x[ Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 21/34 p. 21/34
Etenevä differenssi f(x + h) = f(x) + f (x)h + 1 2 f (ξ)h 2 f (x) = f(x + h) f(x) h 1 2 f (ξ)h Etenevä differenssiapproksimaatio D + (h) = f(x + h) f(x) h Tarkkuus O(h) Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 22/34 p. 22/34
Takeneva differenssi f(x h) = f(x) f (x)h + 1 2 f (ξ)h 2 f (x) = f(x) f(x h) h + 1 2 f (ξ)h Takeneva differenssiapproksimaatio D (h) = f(x) f(x h) h Tarkkuus O(h) Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 23/34 p. 23/34
Keskeisdifferenssi f(x + h) = f(x) + f (x)h + 1 2 f (x)h 2 + 1 6 f (ξ 1 )h 3 f(x h) = f(x) f (x)h + 1 2 f (x)h 2 1 6 f (ξ 2 )h 3 f(x + h) f(x h) = 2f (x)h + f (ξ 1 ) + f (ξ 2 ) h 3 6 Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 24/34 p. 24/34
Keskeisdifferenssi f (x) = f(x + h) f(x h) 2h f (ξ 1 ) + f (ξ 2 ) h 2 12 Keskeisdifferenssiapproksimaatio D 0 (h) = f(x + h) f(x h) 2h Tarkkuus O(h 2 ) Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 25/34 p. 25/34
Toisen derivaatan diff.approks. f(x + h) = f(x) + f (x)h + 1 2 f (x)h 2 + 1 6 f (x)h 3 + 1 24 f(4) (ξ 1 )h 4 f(x h) = f(x) f (x)h + 1 2 f (x)h 2 1 6 f (x)h 3 + 1 24 f(4) (ξ 2 )h 4 f(x + h) + f(x h) = 2f(x) + f (x)h 2 + f(4) (ξ 1 ) + f (4) (ξ 2 ) h 4 24 Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 26/34 p. 26/34
Toisen derivaatan diff.approks. f (x) = f(x + h) 2f(x) + f(x h) h 2 f(4) (ξ 1 ) + f (4) (ξ 2 ) h 2 24 Keskeisdifferenssiapproksimaatio toiselle derivaatalle f (x) Tarkkuus O(h 2 ) f(x + h) 2f(x) + f(x h) h 2 Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 27/34 p. 27/34
Differenssiapproksimaation virhe Differenssiapproksimaatioiden menetelmävirhe 0 kun h 0 Mutta: Pieni h Liukuluvuilla laskettaessa suuri pyöristysvirhe Esimerkki: f(x) = tarkka arvo ˆf(x) = approksimaatio D 0 (h) = tarkoilla arvoilla laskettu keskeisdiff. ˆD 0 (h) = approksimaatioilla laskettu keskeisdiff. Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 28/34 p. 28/34
Differenssiapproksimaation virhe Oletetaan, että ˆf(x ± h) f(x ± h) ε ˆD 0 (h) D 0 (h) = ( ˆf(x + h) ˆf(x h)) (f(x + h) f(x h)) 2h = ( ˆf(x + h) f(x + h)) ( ˆf(x h) f(x h)) 2h ˆf(x + h) f(x + h) + ˆf(x h) f(x h) 2h ε h Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 29/34 p. 29/34
Differenssiapproksimaation virhe Kokonaisvirhe ˆD 0 (h) f (x) = ˆD 0 (h) D 0 (h) + D 0 (h) f (x) ˆD 0 (h) D 0 (h) + D 0 (h) f (x) ε h + f (ξ) h 2 6 Yleensä ˆD 0 (h) f (x) kun h 0 Yritetään minimoida virhearvio h:n suhteen Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 30/34 p. 30/34
Richardsonin ekstrapolaatiomen. Keskeisdifferenssi: f(x + h) = f(x) + f (x)h + 1 2 f (x)h 2 + 1 6 f (x)h 3 + 1 24 f(4) (x)h 4 + 1 120 f(5) (ξ 1 )h 5 f(x h) = f(x) f (x)h + 1 2 f (x)h 2 1 6 f (x)h 3 + 1 24 f(4) (x)h 4 1 120 f(5) (ξ 2 )h 5 f(x + h) f(x h) = 2f (x)h + 1 3 f (x)h 3 + f(5) (ξ 1 ) + f (5) (ξ 2 ) h 5 120 Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 31/34 p. 31/34
Richardsonin ekstrapolaatiomen. D 0 (h) = f (x) + b 1 h 2 + b 2 h 4 Puolitetaan h ) 2 + b2 ( h 2) 4 ( h D 0 (h/2) = f (x) + b 1 2 = f (x) + 1 4 b 1h 2 + 1 16 b 2h 4 Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 32/34 p. 32/34
Richardsonin ekstrapolaatiomen. D 0 (h) = f (x) + b 1 h 2 + b 2 h 4 ( 1/3) D 0 (h/2) = f (x) + 1 4 b 1h 2 + 1 16 b 2h 4 (4/3) 4 3 D 0(h/2) 1 3 D 0(h) = f (x) 1 4 b 2h 4 Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 33/34 p. 33/34
Richardsonin ekstrapolaatiomen. Richardsonin ekstrapolaatio D R (h) = 4 3 D 0(h/2) 1 3 D 0(h) Tarkkuus O(h 4 ) Tarvittessa ekstrapolointia voidaan jatkaa (kuten Rombergin integroinnissa) Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 34/34 p. 34/34