Poglvje 5 Numeričn integrcij 5.1 Uvod Pojm odvod in določeneg integrl smo že srečli pri mtemtiki. Vemo, d je odvjnje rzmerom enostvn opercij in d lko vski funkciji, ki jo lko zpišemo kot kombincijo elementrni funkcij, poiščemo odvod. Povsem drugče je z integrlom. Določeni integrl izrčunmo nlitično s pomočjo nedoločeneg integrl po formuli b kjer je F(x) nedoločeni integrl funkcije f(x) F(x) = f(x) dx. f(x) dx = F(b) F(), (5.1) Nedoločeneg integrl velikokrt ne moremo zpisti kot kombincijo elementrni funkcij, kot n primer integrle sin x e x2 dx, dx in x tg xdx. x Pri nekteri določeni integrli, ki v uporbi zelo pogosto nstopjo, t problem nekko pometemo pod preprogo tko, d g proglsimo z novo elementrno funkcijo (to so tko imenovne specilne funkcije). Tko nredimo npr. s funkcijo npke erf(x) = 2 π x 107 0 e t2 dt,
108 POGLAVJE 5. NUMERIČNA INTEGRACIJA ki je pomembn pri verjetnostnem rčunu in sttistiki in ktere vrednosti so tbelirne. Pri večini določeni integrlov p mormo rvnti drugče. Integrl nvdno ndomestimo s primerno končno integrlsko vsoto in izkže se, d je npk, ki jo pri tem zgrešimo, običjno omejen in dovolj mjn. Prv obrtn situcij p je pri rčunnju odvodov dne funkcije. Kdr je funkcij podn s formulo, jo je nvdno lko odvjti nlitično. Teže p je z numerično metodo ntnčno izrčunti vrednost odvod. V tem poglvju bomo njprej spoznli nekj osnovni integrcijski formul in splošen postopek z njiovo konstrukcijo. Videli bomo, kko lko izrčunmo tudi integrl singulrne funkcije. Nučili se bomo sproti prilgjti dolžino kork integrcije tko, d bomo integrl izrčunli z vnprej predpisno ntnčnostjo in kko lko s primerno kombincijo enostvni integrcijski formul dosežemo večjo ntnčnost (Rombergov metod). N koncu si bomo ogledli še nekj metod z numerično rčunnje odvodov funkcije. 5.2 Trpezn formul D bi lko izrčunli približno vrednost določeneg integrl I = + f(x) dx, (5.2) bomo funkcijo f ndomestili z linernim interpolcijskim polinomom skozi točki in +, torej I + kjer je interpolcijski polinom p enk p(x) dx, p(x) = f( + ) f() (x ) + f(). Če je funkcij f vsj dvkrt odvedljiv n integrcijskem intervlu [, + ], je f(x) = p(x) + f (ξ) (x )(x ), (5.) 2 kjer je točk ξ med in +. Če to vstvimo v integrl (5.2) in integrirmo, dobimo trpezno formulo z izrčun vrednosti določeneg integrl
5.2. TRAPEZNA FORMULA 109 (problem 1) + f(x) dx = (f() + f( + )) 2 12 f (ξ 1 ), (5.4) kjer je ξ 1 zopet nek točk med in +, nvdno rzličn od ξ. Geometrijsko si trpezno formulo predstvljmo tko, d krivočrtni trpez med grfom funkcije f in bscisno osjo v mej od do + ndomestimo s prvim trpezom (slik 5.1). f(b) f() b Slik 5.1: Trpezn formul Npk trpezne formule (5.4) je mjn, če je f (x) mjen n [, +] in če je dolžin integrcijskeg intervl mjn. Tko je npr. z f (x) 1 in = 1/10 npk trpezne formule mnjš od 10 4. Seved p pri dljši intervli od trpezne formule (5.4) ne moremo pričkovti mjne npke. V tem primeru si pomgmo tko, d celoten integrcijski intervl rzdelimo n dovolj mjne podintervle in uporbimo trpezno formulo n vskem od podintervlov, potem p dobljene delne integrle seštejemo. Celoten intervl [, b] rzdelimo n n (zrdi enostvnosti enki) podintervlov dolžine =
110 POGLAVJE 5. NUMERIČNA INTEGRACIJA (b )/n in oznčimo delilne točke podintervlov z x i = + i; i = 0,...,n, tko d immo = x 0 < x 1 < < x n 1 < x n = b. N vskem od podintervlov uporbimo trpezno formulo xi x i 1 f(x) dx 2 (f(x i 1) + f(x i 1 + )), in delne rezultte seštejemo Dobljeni formuli b b f(x) dx 2 n [f(x i 1 ) + f(x i )]. i=1 f(x) dx 2 [f(x 0) + 2f(x 1 ) + + 2f(x n 1 ) + f(x n )], (5.5) prvimo trpezno prvilo. Oglejmo si še npko trpezneg prvil. Privzemimo, d je integrcijsk funkcij f dvkrt zvezno odvedljiv n intervlu [, b]. Če s T() oznčimo približek k vrednosti integrl (5.1), izrčunn s trpeznim prvilom (5.5), iz (5.4) dobimo b f(x) dx T() = 12 n i=1 f (ξ i ) = 2 b 12 n n f (ξ i ), kjer je ξ i [x i 1, x i ]. Ker je fktor 1 n n i=1 f (ξ i ) rvno povprečn vrednost števil f (ξ i ), leži med njmnjšim in njvečjim od te števil. Iz izrek o povprečni vrednosti zvezne funkcije vemo, d obstj tko število ξ [, b], d je f (ξ) = 1 n n i=1 f (ξ i ). Tko lko zpišemo končni rezultt: Izrek 5.2.1. Funkcij f nj bo dvkrt zvezno odvedljiv n [, b] in nj T() pomeni približek k vrednosti integrl (5.1), izrčunn s trpeznim prvilom. Potem je b f(x) dx T() = 2 12 (b )f (ξ). i=1
5.2. TRAPEZNA FORMULA 111 T izrek pomeni, d lko s trpeznim prvilom izrčunmo približek, ki se od točne vrednosti integrl poljubno mlo rzlikuje, če le izrčunmo vrednost funkcije, ki jo integrirmo, v dovolj točk. Ker je npk sorzmern 2, se npk zmnjš približno n četrtino, če podvojimo število točk. Zpišimo lgoritem, s kterim bomo lko izrčunli približek z določeni integrl s pomočjo trpezneg prvil pri dni delitvi intervl: Algoritem 5.2.1 (Trpezno prvilo). Nj bo f zvezn funkcij n intervlu [, b] in n neko nrvno število. Nslednji lgoritem izrčun približek T k vrednosti določeneg integrl (5.1) s pomočjo trpezneg prvil. = (b )/n T = (f() + f(b))/2 for i = 1 : n 1 T = T + f( + i ) end T = T n T() T() I 1 4.5000000 1.7 10 1 2 1.5 4.6217082 4.5 10 2 5 0.6 4.6592278 7.4 10 10 0. 4.6647957 1.9 10 100 0.0 4.6666479 1.9 10 5 1000 0.00 4.6666665 1.9 10 7 Tbel 5.1: Približki z integrl (5.6), izrčunni s trpeznim prvilom Primer 5.2.1. S pomočjo trpezneg prvil izrčunjmo vrednost integrl I = 6 x 2dx = 14 (5.6) z vrednosti n = 1, 2, 5, 10, 100 in 1000. Vrednosti približkov in ustrezne npke so v tbeli 5.1. Opzimo lko, d je npk trpezneg prvil res sorzmern kvdrtu dolžine podintervlov.
112 POGLAVJE 5. NUMERIČNA INTEGRACIJA 5. Metod nedoločeni koeficientov Iz npke trpezneg prvil vidimo, d s pomočjo (5.5) izrčunmo ntnčno integrl vskeg linerneg polinom. To lko posplošimo: konstruirjmo integrcijsko formulo, ki bo ntnčno integrirl vse polinome, kteri stopnj ni večj od n. Ker je polinom stopnje n določen z izbiro n + 1 prosti prmetrov, lko pričkujemo, d bomo tudi z integrcijsko formulo potrebovli izrčun vrednosti integrnd f v n + 1 točk (vozli). Tko bo imel iskn integrcijsk formul obliko +n f(x) dx = n i f(c i ) + R; c i = + i. (5.7) i=0 (Opomb: Tukj smo vozle izbrli enkomerno n intervlu [, + n], kr p ni nujno. Tudi če bi bscise izbrli poljubno, bi po postopku, ki g bomo sedj opisli, lko konstruirli ustrezne integrcijske formule.) Izpeljvo integrcijski formul z metodo nedoločeni koeficientov si oglejmo n konkretnem primeru. Vzemimo integrcijsko formulo oblike 2 0 f(x) dx = 0 f(0) + 1 f() + 2 f(2) + R (5.8) in določimo njene uteži 0, 1 in 2 tko, d bo formul točn z vse kvdrtne polinome. V formulo (5.8) vstvimo nmesto funkcije f zporednom polinome p 0 (x) = 1, p 1 (x) = x in p 2 (x) = x 2 in dobimo z uteži sistem linerni enčb 0 + 1 + 2 = 2 1 + 2 2 = 2 1 + 4 2 = 8, ki im rešitev 0 = 2 = /; 1 = 4/. Tko smo dobili populrno Simpsonovo 1 integrcijsko formulo 2 0 f(x) dx = [f(0) + 4f() + f(2)] + R. (5.9) 1 Toms Simpson (1710 Mrket Boswort 1761 Mrket Boswort, Anglij), ngleški mtemtik, smouk. Integrcijsko metodo, ki dnes nosi njegovo ime, je objvil v svoji knjigi Te Doctrine nd Appliction of Fluxions let 1750.
5.. METODA NEDOLOČENIH KOEFICIENTOV 11 Če v formulo (5.9) vstvimo kubični polinom f(x) = x, in z npko predvidimo izrz R = Cf (ξ), dobimo z konstnto npke C enčbo (2) 4 4 = (4 + 8 ) + 6C 4, od koder izrčunmo C = 0, kr pomeni, d je enostvn Simpsonov formul ntnčn tudi z polinome tretje stopnje. D bi lko izrčunli konstnto npke, mormo v formulo (5.9) vstviti polinom četrte stopnje f(x) = x 4, z npko p predvidimo izrz R = Df (4) (ξ), od koder izrčunmo (2) 5 5 = (44 + 16 4 ) + 24D. Tko je D = 5 /90, torej 2 0 f(x) dx = 5 [f(0) + 4f() + f(2)] 90 f(4) (ξ). (5.10) Podobno kot trpezno formulo (5.4), lko tudi Simpsonovo formulo uporbimo z rčunnje integrlov n poljubni intervli tko, d intervl rzdelimo n 2n enki podintervlov in n vskem pru od nji uporbimo Simpsonovo formulo. Tko dobimo Simpsonovo prvilo b f(x) dx = [f() + 4f( + ) + 2f( + 2) + + 2f(b 2) + 4f(b ) + f(b)] + R, kjer je = (b )/2n. Npk je enk R = 4 (b )f (4) (ξ)/180, (5.11) kjer je ξ nek točk n (, b). Zpišimo še lgoritem z izrčun integrl s Simpsonovim prvilom: Algoritem 5..1 (Simpsonovo prvilo). Nj bo f zvezn funkcij n intervlu [, b] in n neko nrvno število. Nslednji lgoritem izrčun približek S k vrednosti določeneg integrl (5.1) s pomočjo Simpsonoveg prvil.
114 POGLAVJE 5. NUMERIČNA INTEGRACIJA = (b )/(2 n) S = f() + f(b) + 4 f( + ) for i = 1 : n 1 S = S + 2 f( + 2 i ) + 4 f( + 2 i + ) end S = S / n S() S() I 1 1.5 4.6622776601688 4.9 10 2 0.75 4.666220708069 4.46 10 4 5 0. 4.6666516029280 1.50 10 5 10 0.15 4.6666656680214 9.98 10 7 100 0.015 4.66666666656452 1.02 10 10 1000 0.0015 4.66666666666665 1.78 10 14 Tbel 5.2: Približki z integrl (5.6), izrčunni s Simpsonovo formulo Primer 5..1. Vrednost integrl I = 6 x 2dx = 14 (5.12) z vrednosti n = 1, 2, 5, 10, 100 in 1000 izrčunjmo še s pomočjo Simpsonoveg prvil. Vrednosti približkov in ustrezne npke so v tbeli 5.2. Npk v zdnjem stolpcu je res približno sorzmern četrti potenci dolžine podintervlov, kot predvidev ocen (5.11). 5.4 Rčunnje singulrni integrlov Večkrt se zgodi, d im funkcij, ktere določeni integrl mormo izrčunti, n integrcijskem intervlu singulrnost, npr. 1 0 dx x = 2. (5.1)
5.4. RAČUNANJE SINGULARNIH INTEGRALOV 115 V tem primeru ne moremo uporbiti trpezne li Simpsonove formule, ker je vrednost funkcije v točki x = 0 nedefinirn. Z metodo nedoločeni koeficientov iz prejšnjeg rzdelk bi sicer lko konstruirli integrcijsko formulo, ki ne bi vsebovl točke 0 kot bscise, vendr bi dobili še vedno dokj slb približek, sj npk tke formule vsebuje ustrezni višji odvod funkcije, t p je neomejen. Boljš rešitev je, d singulrnost upoštevmo že pri konstrukciji integrcijske formule sme. Kko to nredimo, si oglejmo kr n zgledu integrl 1 f(x) I = dx, x 0 kjer je funkcij f(x) n intervlu [0, 1] regulrn. Z metodo nedoločeni koeficientov bomo določili uteži integrcijske formule, ki im bscisi v točk 0 in 1: I 0 f(0) + 1 f(1) tko, d bo le-t ntnčn z konstnte in linerne polinome. Ko z f(x) vstvimo konstnto 1, dobimo prvo enčbo 1 pri f(x) = x p dobimo drugo enčbo 0 x 1/2 dx = 2 = 0 + 1, 1 0 x 1/2 dx = 2 = 1. Rešitvi teg sistem st 0 = 4/ in 1 = 2/, tko d immo integrcijsko formulo 1 f(x) dx 4 x f(0) + 2 f(1). (5.14) 0 Kdr želimo izrčunti podoben integrl n drugem intervlu, npr. n [, + ], mormo zmenjti spremenljivko: t = + x, torej 1 0 f(x) dx = 1 + f( t ) dt, x t tko d je integrcijsk formul v tem primeru + f(t) t dt ( 4 f() + 2 f( + ) ). (5.15)
116 POGLAVJE 5. NUMERIČNA INTEGRACIJA N isti nčin lko tudi pri podobni singulrni integrli izrčunmo uteži integrcijske formule oblike + w(x)f(x) dx n i f( + c i ), i=1 kjer je funkcij f(x) regulrn, w(x) singulrn n [, + ], števil c i ; i = 1,..., n (vozli integrcijske formule) p poljubn, med seboj rzličn n [0, 1]. Kdr rčunmo vrednost singulrneg integrl s sestvljeno integrcijsko formulo (npr. Simpsonovim prvilom), lko n vse podintervli, kjer je funkcij regulrn, uporbimo Simpsonovo formulo, le n podintervli, kjer im funkcij singulrnost mormo uporbiti posebno formulo z singulrne integrle. Primer 5.4.1. Z integrcijsko formulo (5.15) izrčunjmo približek z vrednost integrl 0.1 ( cosx 2 x ) x sin x dx 0 0.1 2 + cos 0.1 0.2 sin0.1 Točn vrednost teg integrl je 0.1cos 0.1 0.1465. 0.160. Če očemo ntnčnejši rezultt, mormo intervl [0, 0.1] rzdeliti n več podintervlov, n prvem uporbimo formulo (5.14), n ostli p trpezno li Simpsonovo prvilo. 5.5 Izbir kork Iz približk z npko trpezneg prvil T() I = (b ) 2 12 f (ξ) (izrek 5.2.1) lko sklepmo, kko se zmnjšuje npk, ko 0. Z prktično ocenjevnje npke t formul ni primern, sj ztev poznvnje
5.5. IZBIRA KORAKA 117 drugeg odvod funkcije f. D bi dobili izrčunljiv približek z velikost npke, izrčunmo s trpezno formulo približek tudi pri polovični dolžini kork in dobimo približno 4-krt mnjšo npko T(/2) I = 2 4 b 12 f (η), kjer je η [, b] rzličen od ξ. Kljub temu p lko smtrmo npko (b )f /12 kot približno konstnto 2 (oznčili jo bomo s C), zto lko iz enčb I = T() C 2 + O( 4 ) I = T(/2) C 4 2 + O( 4 ) izrčunmo glvni del npke tko, d ti enčbi odštejemo zto je T() T(/2) = 4 C2 + O( 4 ), (5.16) C 2 4 (T() T(/2)). Tko je 4(T() T(/2))/ uporbni približek z npko T() I (in (T() T(/2))/ približek z npko T(/2) I). Pri rčunnju T(/2) pri tem ni potrebno rčunti vrednosti funkcije f v bscis, ki smo ji že uporbili pri rčunnju T(), ker velj T(/2) = T() 2 ( n ) + f( + (i 1/2)), 2 i=1 kjer smo z n oznčili n = (b )/. Če želimo izrčunti približek T() z I, d bo T() I < ε, izrčunmo njprej T(b ) = (b )(f() + f(b))/2 in ( ) b T = 2 T(b ) 2 + b 2 f ( + b 2 Prvzprv lko npko trpezneg prvil kot funkcijo dolžine kork rzvijemo v potenčno vrsto, ki vsebuje le sode potence spremenljivke : f (η) = f (ζ) + C 1 2 + C 2 4 +, kr bomo uporbili ksneje pri Rombergovi metodi. 2 ),
118 POGLAVJE 5. NUMERIČNA INTEGRACIJA ter približek z npko (T(b ) T((b )/2))/. Če je bsolutn vrednost približk z npko mnjš od predpisne ntnčnosti ε, je T((b )/2) dovolj dober približek z I, sicer kork rzpolovimo in izrčun ponovimo. Celoten postopek zpišimo kot lgoritem: Algoritem 5.5.1 (Trpezno prvilo s kontrolo npke). Nj bo f zvezn funkcij n intervlu [, b], N neko nrvno število in ε > 0. Nslednji lgoritem izrčun s pomočjo trpezne formule približek T, ki se od vrednosti določeneg integrl (5.1) rzlikuje mnj kot ε li p se po N rzpolovitv dolžine kork konč brez rezultt (T = NN). e = 2 ε m = 0 = b T = (f() + f(b))/2 wile (m < N)&(bs(e) > ε) m = m + 1 = /2 % Ponovno, s polovičnim korkom k = 2ˆ(m 1) % Nove bscise s = 0 for i = 1 : k s = s + f( + (2 i 1) ) end e = s T/2; % Približek z npko T = T + e % Nov približek end if bs(e) > ε T = NN % Približek ni dober end Primer 5.5.1. Izrčunjmo približek z vrednost integrl (5.12) še z lgoritmom 5.5.1 pri rzlični vrednosti prmetr ε. Rezultti so v tbeli 5.. Opzimo lko, d je npk T() I vedno mnjš od predpisne ntnčnosti ε.
5.5. IZBIRA KORAKA 119 ε n T() T() I 10 0 2 1 1.5 10 0 4.621708245 4.5 10 2 10 1 2 2 7.5 10 1 4.65509259 1.2 10 2 10 2 2.7 10 1 4.66746678 2.9 10 10 2 5 9.4 10 2 4.66648600 1.8 10 4 10 4 2 7 2. 10 2 4.66665522 1.1 10 5 10 5 2 8 1.2 10 2 4.66666806 2.9 10 6 10 6 2 10 2.9 10 4.666666488 1.8 10 7 10 7 2 12 7. 10 4 4.666666655 1.1 10 8 10 8 2 1.7 10 4 4.666666664 2.8 10 9 Tbel 5.: Približki z integrl (5.6), izrčunni s trpezno metodo s kontrolo npke pri rzlični ε Adptivn izbir kork Sestvljen prvil, ki smo ji opisli do sedj, so temeljil n delitvi integrcijskeg intervl n enke podintervle. T izbir je nrvn in včsi (predvsem kdr immo integrcijsko funkcijo znno le v posmezni, enkomerno rzporejeni točk) edin možn. Kdr p znmo vrednost funkcije f izrčunti v vski točki integrcijskeg intervl, je včsi bolje rzdeliti celoten intervl n podintervle, kteri dolžine so odvisne od obnšnj funkcije n vskem od podintervlov. To nm omogoč, d izrčunmo približno vrednost integrl s predpisno ntnčnostjo z mnj rčunnji funkcijske vrednosti, kot če bi bili vsi podintervli enke dolžine. Vzemimo z primer splošno trpezno prvilo I = n i=1 i 2 [f(x i 1) + f(x i )] n i=1 i 12 f (ξ i ), kjer so delilne točke = x 0 < x 1 < < x n 1 < x n = b, ne nujno enkomerno rzporejene in i = x i x i 1. Pri tem je prispevek podintervl [x i 1, x i ] k celotni npki enk i 12 f (ξ i ) z neki ξ i (x i 1, x i ) in je odvisen od dolžine i podintervl in od vrednosti f (x) n podintervlu (x i 1, x i ). Tko lko n tistem delu intervl [, b], kjer je f (x) mjen,
120 POGLAVJE 5. NUMERIČNA INTEGRACIJA vzmemo dolge podintervle, kjer je f (x) velik, p krtke, če očemo, d bodo prispevki delni npk približno sorzmerni dožini podintervlov. Integrcijske metode, ki sproti prilgjjo dolžine podintervlov glede n loklno obnšnje integrnd, imenujemo dptivne. Glvn težv, s ktero se srečujemo pri dptivni metod je, d ne poznmo odvod, ki nstop v izrzu z npko, zto mormo, podobno kot v lgoritmu 5.5.1, npko sproti ocenjevti. Opisli bomo dptivno integrcijsko metodo n osnovi trpezne formule. Podobno bi lko z osnovo dptivne metode vzeli Simpsonovo li kkšno drugo formulo. Želimo izrčunti približek, ki se od prve vrednosti integrl (5.1) ne bo rzlikovl z več kot ε in pri tem čimmnjkrt izrčunti vrednost funkcije f. Vrednost integrl n vskem od podintervlov I i = xi rčunmo dvkrt s trpezno formulo: x i 1 f(x) dx d dobimo T( i ) = i 2 [f(x i 1) + f(x i )], T( i /2) = T( i )/2 + i 2 f(x i 1 + i /2), (5.17) I i = T( i ) C i + O(5 i ) I i = T( i /2) 2 C 8 i + O( 5 i). Iz te dve približkov lko ocenimo npko (prvzprv konstnto C) podobno kot z enčbo (5.16): T( i ) T( i /2) = C 4 i + O( 5 i), (5.18) tko d je npk n tem intervlu približno enk
5.5. IZBIRA KORAKA 121 I i T( i /2) T( i) T( i /2). Če nj bo npk integrl n celotnem intervlu [, b] mnjš od ε, je smiseln ztev, nj bo npk n podintervlu z dolžino i mnjš od i ε/(b ). Delni rezultt (5.17) torej sprejmemo, če je T( i ) T( i /2) < i ε/(b ), sicer p mormo vzeti mnjši podintervl. N osnovi ocene npke tudi lko določimo optimlno dolžino nslednjeg podintervl. Ker mor npk n nslednjem korku zdoščti neenčbi C 4 i+1 < ε i+1 b, izberemo dolžino kork ε i i+1 = σ (b ) T( i ) T( i /2), kjer smo s σ oznčili vrnostni koeficient, ki g nvdno izberemo mlo mnj kot 1 (npr. σ = 0.9). Zpišimo celoten lgoritem Algoritem 5.5.2 (Adptivno trpezno prvilo). Nj bo f zvezn funkcij n intervlu [, b] in ε > 0. Nslednji lgoritem izrčun s pomočjo trpezne formule približek I, ki se od vrednosti določeneg integrl (5.1) rzlikuje mnj kot ε. σ = 0.9 x = I = 0 = b f x = f() f x = f(b) wile x < b f x/2 = f(x + /2) T 1 = (f x + f x )/2 % Njprej z osnovnim korkom T 2 = T 1 /2 + f x/2 /2 % Ponovno, s polovičnim korkom
122 POGLAVJE 5. NUMERIČNA INTEGRACIJA if bs((t 1 T 2 )/) < ε/(b ) x = x + % Rezultt sprejet I = I + T 2 % Prištejemo delni rezultt f x = f x = σ sqrt( ε/bs(t 1 T 2 )/(b )) % novi kork if x + > b % Ali smo že blizu konc? = b x end f x = f(x + ) else % Rezultt zvrnjen = /2 % Rzpolovimo kork f x = f x/2 % Vrednost v končni točki end end ε M f N f 10 0 4 10 1 1 17 10 2 8 65 10 87 257 10 4 211 1025 10 5 578 819 10 6 1709? 10 7 5251? Tbel 5.4: Število izrčunov funkcije f pri rčunnju vrednosti integrl (5.19) s trpeznim prvilom s kontrolo npke in z dptivnim trpeznim prvilom Primer 5.5.2. Izrčunjmo približno vrednost integrl 6 2 x 2dx (5.19) z lgoritmom 5.5.1 in 5.5.2 pri rzlični vrednosti prmetr ε.
5.5. IZBIRA KORAKA 12 0.6 0.5 0.4 0. 0.2 0.1 0 2 2.5.5 4 4.5 5 5.5 6 Slik 5.2: Spreminjnje dolžine kork pri dptivni integrciji Rezultti so v tbeli 5.4. V stolpcu N f je število izrčunov vrednosti funkcije f z lgoritmom 5.5.1, v koloni M f p število izrčunov z dptivnim lgoritmom 5.5.2. Vsi izrčunni rezultti zdoščjo ztevni ntnčnosti. Prepričmo se lko, d je dptivni lgoritem precej bolj učinkovit, sj prilgj kork integrcije loklnemu obnšnju funkcije. T se v nšem primeru itro spreminj v bližini spodnje meje, kjer je potreben zelo mjen kork, nto p je proti zgornji meji vse bolj položn in zto tm lko uporbimo mnogo dljši kork. Algoritem s kontrolo npke je pri večji ntnčnosti ztevl preveliko število funkcijski izrčunov, kr je v tbeli oznčeno z?. N sliki 5.2 je prikzno, kko dptivni lgoritem 5.5.2 spreminj dolžino kork pri ntnčnosti ε = 10.
124 POGLAVJE 5. NUMERIČNA INTEGRACIJA 5.6 Rombergov metod Kdr je funkcij, ki jo integrirmo vsj 2k+2-krt odvedljiv, se d pokzti, d lko npko trpezne formule rzvijemo v konvergentno vrsto po sodi potenc : I = b f(x) dx = T() + C 1 2 + C 2 4 + C 6 + + C k 2k + O( 2k+2 ), kjer konstnte C 1,...,C k niso odvisne od. Že v (5.16) smo izrčunli približek z npko trpezne formule tko, d smo izrčunli T() in T(/2) in dobili C 1 2 = 4 [T() T(/2)] + O(4 ). Če z vrednost te približne npke poprvimo rezultt, dobimo boljši približek z I tko d je kjer je C 1 2 z ktereg velj T 1 (/2) = T() 4 4T(/2) T() [T() T(/2)] =, I = T 1 (/2) + C 1 2 4 + O( 6 ), (5.20) spet nek konstnt, neodvisn od. Če izrčunmo še T 1 (/4) = 4T(/4) T(/2), I = T 1 (/4) + C1 2 16 4 + O( 6 ), (5.21) lko enčbi (5.20) in (5.21) odštejemo: 0 = T 1 (/2) T 1 (/4) + 15 16 C1 2 4 + O( 6 ). Ko iz te enčbe izrčunmo npko in poprvimo rezultt, dobimo z ktereg velj T 2 (/4) = 16T 1(/4) T 1 (/2), 15 I = T 2 (/4) + C 2 6 + O( 8 ),
5.6. ROMBERGOVA METODA 125 kjer je C 2 zopet nek konstnt, neodvisn od. Tko lko ndljujemo in dobimo n k-tem korku in velj T k (/2 k ) = 4k T k 1 (/2 k ) T k 1 (/2 k 1 ), (5.22) 4 k 1 I = T k (/2 k ) + C k k+1 2k+2 + O( 2k+4 ). D bi iz enčbe (5.22) izrčunli T k (/2 k ), mormo prej izrčunti vrednosti T k 1 (/2 k 1 ) in T k 1 (/2 k ), d bi ji izrčunli, potrebujemo tudi T k 2 (/2 k 2 ), T k 2 (/2 k 1 ) in T k 2 (/2 k ),...in končno T(/2 k ),..., T(/2) in T(). Vse te vrednosti njlže predstvimo v obliki Rombergove tbele T() T(/2) T 1 (/2) T(/4) T 1 (/4) T 2 (/4)...... T(/2 k ) T 1 (/2 k ) T 2 (/2 k ) T k (/2 k ) (5.2) Opomb: Približki v drugem stolpcu tbele T 1 so isti, kot če bi ji izrčunli s Simpsonovim prvilom (problem 2). Zpišimo lgoritem, ki bo izrčunl Rombergove približke: Algoritem 5.6.1 (Rombergov metod). Nj bo f zvezn funkcij n intervlu [, b] in k nrvno število. Nslednji lgoritem izrčun približke T n (/2 m ) iz Rombergove tbele. = b T(1, 1) = (f() + f(b))/2 for m = 2 : k + 1 = /2 T(m, 1) = T(m 1, 1)/2 s = 0 for i = 1 : 2ˆ(m 2) s = s + f( + (2 i 1) ) end Werner Romberg (1909 Berlin 200 Heidelberg), nemški mtemtik. Pred ncizmom se je omknil n Norveško in ksneje n Švedsko, po vojni je bil profesor v Trondeimu in ksneje v Heidelbergu. Ukvrjl se je z numerično nlizo in uporbno mtemtiko.
126 POGLAVJE 5. NUMERIČNA INTEGRACIJA T(m, 1) = T(m, 1) + s for n = 2 : m T(m, n) = (4ˆ(n 1) T(m, n 1) T(m 1, n 1))/ (4ˆ(n 1) 1) end end Primer 5.6.1. Izrčunjmo približek z vrednost integrl (5.12) še z Rombergovo metodo (lgoritem 5.6.1). Izberimo vrednost prmetr k = 5. V tbeli 5.5 so npke posmezni približkov. Iz rezulttov vidimo, d so približki vse bolj ntnčni, ko gremo po posmeznem stolpcu nvzdol, kr pomeni vse krjši kork trpezne formule. Prv tko p opzimo, d se npke mnjšjo, ko gremo po posmezni vrstici z leve proti desni, kr pomeni vse ntnčnejše integrcijske formule. Vidimo tudi, d se to zmnjševnje npke ustvi, kr je posledic zokrožitveni npk, sj so rezultti izrčunni pri osnovni zokrožitveni npki 2.2 10 16. m I T I T 1 I T 2 I T I T 4 I T 5 1 1.6 10 1 2 4.5 10 2 4.4 10 1.2 10 2 4.5 10 4 1.8 10 4 4 2.9 10.5 10 5 7.9 10 6 5.1 10 6 5 7. 10 4 2.4 10 6 2.2 10 7 9. 10 8 7. 10 8 6 1.8 10 4 1.5 10 7 4.2 10 9 8.9 10 10 5. 10 10 4.6 10 10 Tbel 5.5: Npke posmezni približkov integrl (5.12), izrčunni z Rombergovo metodo 5.7 Numerično odvjnje Poglejmo si še, kko lko numerično izrčunmo vrednost odvod f funkcije f v določeni točki. Ker je odvod funkcije f v točki x definirn kot f f(x + ) f(x) (x) = lim, 0
5.7. NUMERIČNO ODVAJANJE 127 dobimo njenostvnejšo formulo (direktno formulo) z izrčun odvod tko, d vzmemo dovolj mjen in je f (x) f(x + ) f(x). (5.24) D bi ugotovili, kkšn je npk pri uporbi formule (5.24), rzvijemo f(x + ) (predpostvimo, d je f vsj dvkrt odvedljiv) po Tylorjevi 4 formuli f(x + ) = f(x) + f (x) + 2 2 f (ξ), kjer je ξ nek točk med x in x +. Tko dobimo f (x) = f(x + ) f(x) 2 f (ξ), (5.25) torej je npk približk, izrčunneg s formulo (5.24), sorzmern. Do ntnčnejši formul z numerično rčunnje odvod lko pridemo bodisi z odvjnjem interpolcijskeg polinom, bodisi z metodo nedoločeni koeficientov. Poglejmo si ob nčin n preprosti primeri. Odvjnje interpolcijskeg polinom. Nj bo p 1 (x) linerni polinom, ki interpolir vrednosti funkcije f v točk x 0 in x 0, torej po Newtonovi interpolcijski formuli (4.7) kr odvjmo p 1 (x) = f(x 0 ) + f[x 0, x 0 ](x (x 0 )) = f(x 0 ) + f(x 0) f(x 0 ) (x x 0 + ), f (x) p 1 (x) = f(x 0) f(x 0 ). Tko smo dobili obrtno formulo, ki je podobn, kot direktn formul (5.24), le d zmenjmo z, zto je tudi npk te formule enk f (η)/2, le d je točk η v tem primeru med x 0 in x 0. N podoben nčin dobimo lko tudi ntnčnejše formule z izrčun vrednosti odvod, če z osnovo vzmemo interpolcijski polinom skozi več točk. 4 Brook Tylor (1685 Edmonton 171 London), ngleški mtemtik, dnes predvsem poznn po Tylorjevi vrsti. Objvil jo je let 1715 v svoji knjigi Metodus incrementorum direct et invers. Podoben rezultt je opisl Jon Bernoulli že let 1694.
128 POGLAVJE 5. NUMERIČNA INTEGRACIJA Metod nedoločeni koeficientov. Odvod funkcije f proksimirmo kot linerno kombincijo njeni vrednosti v sosednji točk vzemimo kr točke x 0, x 0 in x 0 + : f (x 0 ) Af(x 0 ) + Bf(x 0 ) + Cf(x 0 + ). (5.26) D bi lko izrčunli koeficiente A, B in C, zpišimo proksimciji z f(x 0 ) in f(x 0 + ) po Tylorjevi formuli f(x 0 ) = f(x 0 ) f (x 0 ) + 2 2 f (x 0 ) 6 f (x 0 ) + f(x 0 ) = f(x 0 ) f(x 0 + ) = f(x 0 ) + f (x 0 ) + 2 2 f (x 0 ) + 6 f (x 0 ) +. Dobljene rzvoje vstvimo v enčbo (5.26) in dobimo f (x 0 ) = (A + B + C)f(x 0 ) + ( A + C)f (x 0 ) (5.27) + A + C 2 f (x 0 ) + A + C f (x 0 ) +. 2 6 S primerno izbiro konstnt A, B in C lko eliminirmo člen, ki vsebujet f in f, konstnt pri f p mor biti enk 1/. Tko lko zpišemo sistem enčb z konstnte A, B in C A + B + C = 0 A + C = 1/ A + C = 0, ki im rešitev A = 1/2, B = 0 in C = 1/2, od koder dobimo sredinsko formulo z izrčun odvod f (x 0 ) f(x 0 + ) f(x 0 ). (5.28) 2 Npko te formule izrčunmo tko, d funkcijo ( ) f f(x0 + ) f(x 0 ) (x 0 ) (5.29) 2 rzvijemo po Tylorjevi formuli. Tko pridemo do rezultt f (x 0 ) = f(x 0 + ) f(x 0 ) 2 2 6 f (x 0 ) + O( ), (5.0) Iz primerjve direktne, obrtne in sredinske formule vidimo, d je sredinsk ntnčnejš od ostli dve, sj im npk fktor 2 v primerjvi z direktno in obrtno, ki imt obe v npki fktor.
5.7. NUMERIČNO ODVAJANJE 129 Drugi odvod Podobno kot smo z nstvkom (5.27) izrzili prvi odvod, lko z linerno kombincijo funkcijski vrednosti f(x 0 ), f(x 0 ) in f(x 0 +) izrzimo tudi drugi odvod f (x 0 ): f (x 0 ) (A + B + C)f(x 0 ) + ( A + C)f (x 0 ) (5.1) + A + C 2 f (x 0 ) + A + C f (x 0 )..., 2 6 od koder z koeficiente A, B in C dobimo sistem linerni enčb A + B + C = 0 A + C = 0 A + C = 2/ 2, ktereg rešitev je A = C = 1/ 2 in B = 2/ 2. Tko smo prišli do formule z izrčun drugeg odvod f (x 0 ) f(x 0 ) 2f(x 0 ) + f(x 0 + ) 2. Njeno npko izrčunmo tko, d funkcijo ( ) f f(x0 ) 2f(x 0 ) + f(x 0 + ) (x 0 ) rzvijemo po Tylorjevi formuli, od koder dobimo 2 f (x 0 ) = f(x 0 ) 2f(x 0 ) + f(x 0 + ) 2 2 12 f(4) (x 0 ) + O( 5 ). (5.2) Vpliv nentnčni funkcijski vrednosti. Npke v funkcijski vrednosti lko zelo zmnjšjo uporbnost formul z numerično odvjnje. Oglejmo si njiov vpliv pri direktni formuli (5.24). Če so funkcijske vrednosti poznne ntnčno, je npk direktne formule f (x 0 ) f(x 0 + ) f(x 0 ) = 2 f (ξ), torej je npk poljubno mjn, ko 0. Nvdno p funkcije f ne poznmo povsem ntnčno, mpk le njen približek ˆf(x) = f(x) + e(x),
10 POGLAVJE 5. NUMERIČNA INTEGRACIJA kjer smo s funkcijo e oznčili npko pri rčunnju vrednosti funkcije f. Predpostvimo tudi, d je t npk omejen e(x) ε n intervlu, ki ns znim. Dejnsko tko izrčunmo pri čemer velj ˆf(x 0 + ) ˆf(x 0 ) od koder dobimo oceno ˆf(x 0 + ) ˆf(x 0 ) ˆf (x 0 ) ˆf(x 0 + ) ˆf(x 0 ), = f(x 0 + ) f(x 0 ) f(x 0 + ) f(x 0 ) + e(x 0 + ) e(x 0 ), 2ε. Če to vstvimo v enčbo (5.25), dobimo z dejnsko npko pri izrčunu vrednosti odvod oceno ˆf(x 0 + ) ˆf(x 0 ) f (x 0 ) 2ε + 2 f (ξ). T ocen pomeni, d vrednosti odvod funkcije ne moremo izrčunti s poljubno ntnčnostjo. Z velike predstvlj glvni del npke člen f (ξ), 2 pri mjni p člen 2ε. Celotn npk je njmnjš, kdr st prispevk obe členov enk, to je, kdr je f (ξ) /2 = 2ε/, ozirom z ε = 2 f (ξ), (5.) kr pomeni, d ocen z npko ne more biti mnjš kot 2 ε f (ξ), ne glede n to, s kkšnim rčunmo. Primer 5.7.1. Izrčunjmo vrednost odvod eksponentne funkcije e x v točki x = 0 z direktno formulo pri rzlični korki med 1 in 10 1 in tbelirjmo njiove npke (tbel 5.6). Iz rezulttov vidimo, d je njmnjš npk pri korku = 10 8, kr se ujem s teoretično optimlnim korkom, izrčunnim iz enčbe (5.), ki je pri ε = 2.2 10 16 enk = 2 2.2 10 16 /e 10 8.
5.8. POVZETEK 11 npk 10 0 0.71828182845905 10 1 0.05170918075648 10 2 0.00501670841679 10 0.0005001667088 10 4 0.00005000166714 10 5 0.00000500000696 10 6 0.00000049996218 10 7 0.000000049468 10 8 0.00000000607747 10 9 0.0000000827407 10 10 0.0000000827407 10 11 0.0000000827407 10 12 0.0000889005824 10 1 0.000799277876 Tbel 5.6: Npke pri rčunnju odvod eksponentne funkcije e x pri x = 0 5.8 Povzetek Numerično rčunnje določeni integrlov je prvilom enostvnejše od rčunnj odvodov. Spoznli smo dve metodi, ki st uporbni tko z konstrukcijo integrcijski formul, kot tudi formul z numerično odvjnje. To st metod interpolcijskeg polinom, kjer funkcijo ndomestimo z interpolcijskim polinomom skozi dve li več sosednji točk, in metodo nedoločeni koeficientov, kjer zpišemo željeno formulo s še neznnimi koeficienti, ki ji potem določimo tko, d je dobljen formul čimbolj ntnčn. Med integrcijskimi formulmi smo spoznli dve njpopulrnejši, to st trpezn in Simpsonov formul. Nučili smo se ugotvljti npko približkov z vrednost določeneg integrl in določiti kork formule tko, d je npk končneg rezultt znotrj vnprej predpisne ntnčnosti. S pomočjo Rombergove metode smo se nučili izboljšti ntnčnost približkov, izrčunni z trpezno formulo. Med formulmi z numerično odvjnje smo spoznli direktno in obrtno formulo, ter ntnčnejšo sredinsko formulo z izrčun prveg odvod, p tudi formulo z izrčun drugeg odvod. Prv tko smo spoznli, d npk pri
12 POGLAVJE 5. NUMERIČNA INTEGRACIJA rčunnju odvod funkcije ne more biti poljubno mjn. 5.9 Problemi 1. Enčbo (5.) integrirj n intervlu [, + ], d dobiš enostvno trpezno formulo (5.4). 2. Prepričj se, d so približki, ki ji dobimo v drugem stolpcu Rombergove tbele (5.2) isti, kot bi ji dobili pri uporbi Simpsonoveg prvil.. () Izrčunj uteži integrcijske formule +4 f(x) dx [Af( + ) + Bf( + 2) + Cf( + )] (b) Kolikšn je npk te integrcijske formule? (c) Oceni velikost npke te integrcijske formule z = 0 in f(x) = cos(x). (d) Primerjj to integrcijsko formulo s trpezno in s Simpsonovo formulo. 4. () Izrčunj uteži integrcijske formule + f(x) dx [Af( + ) + Bf( + 2) + Cf( + )] (b) Kolikšn je npk te integrcijske formule? (c) Izrčunj približno vrednost integrl Kolikšn je npk? 0.6 0 xx dx. (d) Primerjj to integrcijsko formulo s trpezno in s Simpsonovo formulo.
5.9. PROBLEMI 1 5. Vrednost integrl I = b f(x) dx lko izrčunmo z enostvno sredinsko formulo c+ c f(x) dx f(c + 2 ). () Zpiši sestvljeno sredinsko prvilo z izrčun vrednosti integrl I pri dolžini kork = b 4 (b) Kolikšn je npk enostvne sredinske formule? (c) Izrčunj vrednost integrl 1 dx s sestvljenim sredinskim 0 1+x 2 prvilom pri dolžini kork = 0.25. (d) Z primerjvo izrčunj vrednost isteg integrl še s trpeznim prvilom pri isti dolžini kork in primerjj obe npki. 6. Izpelji sredinsko formulo (5.28) z izrčun vrednosti odvod v točki tko, d odvjš interpolcijski polinom skozi točke x 0, x 0 in x 0 +. 7. Izpelji formulo z izrčun vrednosti drugeg odvod (5.2) tko, d odvjš interpolcijski polinom skozi točke x 0, x 0 in x 0 +.