Numeeriset menetelmät Luento 10 To 6.10.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 1/35 p. 1/35
Numeerinen integrointi Puolisuunnikassääntö b a f(x)dx = h 2 (f 0 + f 1 ) h3 12 f (η) Simpsonin kaava/sääntö b a f(x)dx = h 3 (f 0 + 4f 1 + f 2 ) h5 90 f(4) (η) Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 2/35 p. 2/35
Integroimisvälin jakaminen Jos integroimisväli [a, b] pitkä: Matala-asteiset polynomit antavat epätarkkoja tuloksia Korkea-asteiset polynomit usein oskilloivat Ratkaisu: Jaetaan integroimisväli lyhyempiin osaväleihin Käytetään osaväleillä matala-asteisia kaavoja Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 3/35 p. 3/35
Esimerkki: Puolisuunnikassääntö [a, b] n kpl h:n pituisia osavälejä [x i, x i+1 ] x i = x 0 + ih, (i = 0, 1,..., n) x 0 = a, x n = b, h = (b a)/n Puolisuunnikassääntö yhdellä osavälillä: xi+1 x i f(x)dx h 2 (f i + f i+1 ) E[f] i = h3 12 f (x i + ξ i h), ξ i ]0, 1[ Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 4/35 p. 4/35
Esimerkki jatkuu b a f(x)dx = = h 2 n 1 i=0 n 1 i=0 xi+1 x i f(x)dx h 2 (f i + f i+1 ) ( f 0 + 2 n 1 i=1 f i + f n ) Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 5/35 p. 5/35
Esimerkki jatkuu Virhetermi: E[f] = n 1 i=0 E[f] i = h3 12 n 1 i=0 E[f] h3 12 n max f (x) x [a,b] f (x i + ξ i h) = h2 (b a) max 12 f (x) x [a,b] ( h = (b a)/n nh = b a ) Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 6/35 p. 6/35
Esimerkki: Simpsonin kaava [a, b] 2n kpl h:n pituisia osavälejä [x i, x i+1 ] x i = x 0 + ih, (i = 0, 1,..., 2n) x 0 = a, x 2n = b, h = (b a)/2n Simpsonin kaava kahdella osavälillä: x2i+2 x 2i f(x)dx h 3 (f 2i + 4f 2i+1 + f 2i+2 ) E[f] 2i = h5 90 f(4) (x 2i + ξ 2i h), ξ 2i ]0, 2[ Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 7/35 p. 7/35
Esimerkki jatkuu b a f(x)dx = = h 3 n 1 i=0 n 1 i=0 x2i+2 x 2i f(x)dx h 3 (f 2i + 4f 2i+1 + f 2i+2 ) ( f 0 + 4f 1 + 2f 2 + 4f 3 +... + 2f 2n 2 + 4f 2n 1 + f 2n ) Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 8/35 p. 8/35
Esimerkki jatkuu Virhetermi: E[f] = n 1 i=0 E[f] 2i = h5 90 E[f] h5 90 n max n 1 i=0 x [a,b] f(4) (x) f (4) (x 2i + ξ 2i h) = h4 (b a) max 180 x [a,b] f(4) (x) ( h = (b a)/2n nh = (b a)/2 ) Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 9/35 p. 9/35
Yleinen integrointikaava b a Aikaisemmin: f(x)w(x)dx = k i=1 A i f(x i ) + E[f] Etukäteen kiinnitetty, tasavälinen pisteistö x i Johdettiin painokertoimet A i Seuraavaksi: Sekä x i :t että A i :t vapaita parametreja 2k parametria paras mahdollinen tarkkuusaste 2k 1 Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 10/35 p. 10/35
Parametrien määrääminen P k = enintään k-asteiset polynomit [a, b]:llä Lause: Olkoon q P k (q 0) siten, että b a q(x)p(x)w(x)dx = 0 p P k 1 Olkoot x i polynomin q nollakohdat ja A i = b a l j (x)w(x)dx = b a k m=1 m j x x m x j x m w(x)dx Kaavan tarkkuusaste on 2k 1 Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 11/35 p. 11/35
Todistus Aikaisemmin tarkka kaikille f P k 1 Olkoon f P 2k 1 f = qp + r, missä p, r P k 1 f(x i ) = q(x i ) }{{} =0 p(x i ) + r(x i ) = r(x i ) Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 12/35 p. 12/35
Todistus jatkuu b a f(x)w(x)dx = = = b q(x)p(x)w(x) dx } a {{ } b =0 a k i=1 r(x) w(x)dx = }{{} P k 1 A i f(x i ) + k i=1 b a r(x)w(x) dx A i r(x i ) }{{} =f(x i ) Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 13/35 p. 13/35
Gaussin ja Legendren kaavat Olkoon w 1 ja [a, b] = [ 1, 1] Lauseen polynomi q on Legendren polynomi: L 0 (x) = 1 L 1 (x) = x L m+1 (x) = 2m + 1 m + 1 xl m(x) m m + 1 L m 1(x), m = 1, 2,... Legendren polynomien juuret ovat reaalisia, yksinkertaisia ja välillä ] 1, 1[ Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 14/35 p. 14/35
Gaussin ja Legendren kaavat k = 1: L 1 (x) = x x 1 = 0 ( l j (x) = k m=1 m j x x m x j x m ja l 1 (x) = 1, jos k = 1 ) A 1 = 1 1 1 1 l 1 (x)dx = 1 1 f(x)dx 2f(0) 1dx = 2 Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 15/35 p. 15/35
Gaussin ja Legendren kaavat k = 2: L 2 (x) = 3 2 xl 1(x) 1 2 L 0(x) = 1 2 + 3 2 x2 x 1 = 1 3, x 2 = + 1 3 Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 16/35 p. 16/35
Gaussin ja Legendren kaavat k = 2 jatkuu: A 1 = 1 1 l 1 (x)dx = 1 1 x x 2 x 1 x 2 dx = 1 A 2 = 1 1 l 2 (x)dx = 1 1 x x 1 x 2 x 1 dx = 1 1 1 f(x)dx f( 1/ 3) + f(1/ 3) Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 17/35 p. 17/35
Gaussin ja Legendren kaavat k = 3: L 3 (x) = 5 3 xl 2(x) 2 3 L 1(x) = 3 2 x + 5 2 x3 3 3 x 1 = 5, x 2 = 0, x 3 = + 5 Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 18/35 p. 18/35
Gaussin ja Legendren kaavat k = 3 jatkuu: 1 1 A 1 = A 2 = A 3 = 1 1 1 1 1 1 (x x 2 )(x x 3 ) (x 1 x 2 )(x 1 x 3 ) dx = 5 9 (x x 1 )(x x 3 ) (x 2 x 1 )(x 2 x 3 ) dx = 8 9 (x x 1 )(x x 2 ) (x 3 x 1 )(x 3 x 2 ) dx = 5 9 f(x)dx 5 9 f( 3/5) + 8 9 f(0) + 5 9 f( 3/5) Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 19/35 p. 19/35
Esimerkki Tehtävä: 1 1 e x dx (Arvo viiden numeron tarkkuudella: 2.3504) k = 1: 1 1 e x dx 2e 0 = 2 k = 2: 1 1 e x dx e 1/ 3 + e 1/ 3 2.3427 Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 20/35 p. 20/35
Yleinen integroimisväli Gaussin ja Legendren kaavoissa integroimisväli [ 1, 1] Yleinen väli [a, b] saadaan muuttujanvaihdolla b a f(x)dx = b a 2 x = b a 2 z + a + b 2 1 1 f( b a 2 z + a + b 2 )dz Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 21/35 p. 21/35
Esimerkki [a, b] = [0, 2] x = 2 0 2 z + 0 + 2 2 = z + 1 k = 2: 2 0 e x dx = 1 1 e z 1 dz = e 1/ 3 1 + e 1/ 3 1 0.86183 Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 22/35 p. 22/35
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 10 To 6.10.2011 p. 23/35 p. 23/35
Integrointiohjelmistot Käyttäjä määrittelee välin [a, b] tekee aliohjelman, joka laskee f:n arvoja asettaa tarkkuusvaatimuksen ε (raja absoluuttiselle ja/tai suhteelliselle virheelle) Ohjelma päättää, onko tarkkuusvaatimus saavutettavissa laskee integraalin halutulla tarkkuudella palauttaa vastauksen (ja muuta tietoa) Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 24/35 p. 24/35
Rombergin menetelmä Lasketaan integraali osavälin pituudella h Lasketaan integraali osavälin pituudella h/2 Richardsonin ekstrapolaatio: Muodostetaan em. likiarvoista lineaarikombinaatio siten, että sen virhe on pienempi kuin kummankin likiarvon virhe Osavälin puolittamista jatketaan kunnes virhe on riittävän pieni Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 25/35 p. 25/35
Rombergin menetelmä Sovelletaan puolisuunnikassääntöön x i = x 0 + ih, (i = 0, 1,..., n) x 0 = a, x n = b, h = (b a)/n Lause: Jos f on 2m kertaa jatkuvasti derivoituva, niin puolisuunnikassäännön virhetermi voidaan kirjoittaa muodossa E[f] = m j=1 α j h 2j missä kertoimet α j eivät riipu h:sta Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 26/35 p. 26/35
Rombergin menetelmä Merkitään: I = b a f(x)dx Merkitään: T k,0 = puolisuunnikassäännön antama likiarvo I:lle, kun osavälien pituus on h k = (b a)/2 k Lause I = T k,0 + α 1 h 2 k + α 2 h 4 k + α 3 h 6 k + Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 27/35 p. 27/35
Rombergin menetelmä jatkuu I = T k,0 + α 1 h 2 k + α 2 h 4 k + α 3 h 6 k + Puolitetaan h k ( hk ) 2 ( hk ) 4 ( hk ) 6 I = T k+1,0 + α 1 + α2 + α3 + 2 2 2 = T k+1,0 + 1 4 α 1h 2 k + 1 16 α 2h 4 k + 1 64 α 3h 6 k + Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 28/35 p. 28/35
Rombergin menetelmä jatkuu I = T k,0 + α 1 h 2 k + α 2 h 4 k + α 3 h 6 k + ( 1) I = T k+1,0 + 1 4 α 1h 2 k + 1 16 α 2h 4 k + 1 64 α 3h 6 k + 4 3I = 4T k+1,0 T k,0 3 4 α 2h 4 k 15 16 α 3h 6 k I = 4 3 T k+1,0 1 3 T k,0 1 4 α 2h 4 k 5 16 α 3h 6 k Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 29/35 p. 29/35
Rombergin menetelmä jatkuu I = 4 3 T k+1,0 1 3 T k,0 }{{} =T k+1,1 1 4 α 2h 4 k 5 16 α 3h 6 k T k+1,1 ensimmäinen Rombergin ekstrapolaatio T k,0 ja T k+1,0 ovat O(h 2 )-approksimaatioita, mutta T k+1,1 on O(h 4 )-approksimaatio Jatketaan samalla tavalla, puolittamalla h k uudestaan Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 30/35 p. 30/35
Rombergin menetelmä jatkuu I = T k+1,1 1 4 α 2h 4 k 5 16 α 3h 6 k (muutetaan merkintöjä) I = T k,1 + β 1 h 4 k + β 2 h 6 k + Puolitetaan h k I = T k+1,1 + β 1 ( hk 2 ) 4 + β2 ( hk 2 ) 6 + = T k+1,1 + 1 16 β 1h 4 k + 1 64 β 2h 6 k + Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 31/35 p. 31/35
Rombergin menetelmä jatkuu I = T k,1 + β 1 h 4 k + β 2 h 6 k + ( 1) I = T k+1,1 + 1 16 β 1h 4 k + 1 64 β 2h 6 k + 16 15I = 16T k+1,1 T k,1 3 4 β 3h 6 k I = 16 15 T k+1,1 1 15 T k,1 }{{} =T k+1,2 1 20 β 3h 6 k Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 32/35 p. 32/35
Rombergin menetelmä jatkuu T k+1,2 toinen Rombergin ekstrapolaatio, O(h 6 )-approksimaatio... missä I = T k+1,j+1 + O(h 2j+4 ) T k+1,j+1 = 4j+1 T k+1,j T k,j 4 j+1 1 Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 33/35 p. 33/35
Rombergin menetelmä jatkuu Rombergin ekstrapolaatit taulukkona: T 0,0 T 1,0 T 1,1 T 2,0 T 2,1 T 2,2. Lasketaan riveittäin: T k,0 uusi puolisuunnikasaapproksimaatio, muut arvot ekstrapoloidaan Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 34/35 p. 34/35
Rombergin menetelmä jatkuu Jatketaan kunnes T k,k on riittävän tarkka approksimaatio integraalille Lopetuskriteeri esimerkiksi T k,k T k 1,k 1 ε T k,k Numeeriset menetelmät Syksy 2011 Luento 10 To 6.10.2011 p. 35/35 p. 35/35