7. Numerický výpočet integrálu Tento učení text yl podpořen z Operčního progrmu Prh- Adptilit Hn Hldíková
Pro numerickou proximci určitého integrálu se užívá termín numerická kvdrtur, příslušné vzorce se nzývjí kvdrturní vzorce. Nším cílem je určit přiližnou hodnotu určitého integrálu I(f= f(xdx,kdepředpokládáme,žefunkce f jenintervlu, spojitá.pokudjefunkce f kldná,jegeometrickývýznmintegrálu I(foshplochymezigrfemfunkce f osou xn intervlu,. Numerické metody výpočtu integrálu užíváme tehdy, pokud: funkci máme zdnou tulkou neznáme její předpis, integrál není možno vypočítt nlytickými metodmi, c přípdně pokud je výpočet velmi prcný. Dnou funkci nhrdíme její vhodnou proximcí ϕ tk, y ylo možné integrál proximující funkce I(ϕ= ϕ(xdx,sndnourčit.jkoproximciintegrálu I(fprohlásímehodnotuintegrálu I(ϕ, tj. I(f I(ϕ. Numerické metody jsou nvrhovány tk, že velikost plochy orzce určeného ϕ lze spočítt pomocí několik funkčních hodnot(proto lze tkto počítt i integrály pro funkce určené tulkou. Výpočet integrálu je poměrně stilní(n rozdíl od výpočtu derivce. Je-li ϕ vhodnou proximcí funkce f n intervlu ;, je integrál I(ϕ dorou proximcí I(f, protože pltí: f(xdx ǫ {}}{ ϕ(xdx f(x ϕ(x dx ( sup( f(x ϕ(x ( ǫ, Newtonovy-Cotesovy kvdrturní vzorce Intervl, rozdělímen npodintervlů,+1, =x 0 < x 1 < x < < x n 1 < x n =. Projednoduchostzvolímeekvidistntnídělení,kde +1 = h= n. Integrál rozložíme následovně: I= n 1 f(xdx= k=0 ( xk+1 f(xdx. Nintervlu,+N+1 nhrdímefunkci flgrngeovýmpolynomem N-téhostupněspočítáme n tomto intervlu jeho integrál. Tkto odvozený vzorec pro výpočet integrálu udeme nzývt zákldní kvdrturní Newton-Cotesův vzorec-(zákldní NC vzorec. Vzorec pro výpočet hodnoty integrálu přes celý intervl,, který vznikne součtem zákldních kvdrturních vzorců, udeme nzývt složený kvdrturní vzorec. Řekneme, že kvdrturní vzorec je řádu n, jestliže přesně integruje polynomy stupně n(u polynomů vyšších řádů než n se již dopouštíme nenulové proximční chyy. Newtonovy-Cotesovy kvdrturní vzorce- odélníkové prvidlo Nintervlu,+1 nhrdímefunkci fkonstntnífunkcí L 0 (x=f( xk+1 + ]. Održíme kvdrturní vzorec řádu 0. odem[ +1+,f xk+1 f(xdx ( xk+1 + xk+1, která prochází ( ( xk+1 + xk+1 + L 0 (xdx=(+1 f = h.f = I Od (f.
( Názevformulevyjdřuje,žepro f xk+1 + >0je I Od (fplochodélníkostrnách ( +1 f xk+1 +. Geometrický význm odélníkového prvidl je znázorněn n orázku 7.1,kdesymol + 1 = +1+. f(x f( +1 f( +1/ f(x f( +1 +1/ x Složený vzorec ude mít následující tvr: Or. 7.1 Odélníkové prvidlo. n 1 f(xdx I Od = h f i=0 ( xi+1 + x i Pltí: Nechť funkce f má v intervlu, spojitou druhou derivci, pk pltí: I I Od = 4 f (ξh,kde ξ (,. f Nechť M = mx x, (x, potom I I Od 4 M h. Newtonovy-Cotesovy kvdrturní vzorce- lichoěžníkové prvidlo Nintervlu,+1 nhrdímefunkci f lineárnímpolynomem L 1 (x,kterýprocházíody [,f( ][+1,f(+1 ].Održímekvdrturnívzorecřádu1. xk+1 f(xdx xk+1 L 1 (xdx= (+1 (f( +f(+1 = = h (f(+f(+1 =I Lich. Názevformulevyjdřuje,žepro f(+1 >0f( >0je I Lich (fplochlichoěžník,jehož rovnoěžnéstrnymjídélky f(+1 f( jehožvýškjerovn +1. Geometrický význm lichěžníkového prvidl je znázorněn n orázku 7..
f(x f( +1 f(x f( +1 x Or. 7. Lichoěžníkové prvidlo. Složený vzorec ude mít následující tvr: f(xdx I Lich = h [f(x 0+f(x 1 +f(x +...+f(x n 1 +f(x n ]= [ ] n 1 1 = h f(x 0+ f( + 1 f(x n. Pltí: Nechť funkce f m v intervlu, spojitou druhou derivci, pk pltí: f Nechť M = mx x, (x, potom i=1 I I Lich = 1 f (ξh,kde ξ (,. I I Lich 1 M h. Newtonovy-Cotesovy kvdrturní vzorce- Simpsonovo prvidlo Nintervlu,+ nhrdímefunkci fkvdrtickýmpolynomem L (x,kterýprocházíody [,f( ],[+1,f(+1 ][+,f(+ ].Održímekvdrturnívzorecřádu. xk+ f(xdx xk+ L (xdx= (+ 6 (f( +4f(+1 +f(+ = = h (f(+4f(+1 +(+ =I Simp. Geometrický význm Simpsonov prvidl je znázorněn n orázku 7.1. 4
f(x f( + f( f( +1 f(x +1 + x Or. 7. Simpsonovo prvidlo. Složený vzorec ude mít pro n sudé následující tvr: f(xdx I Simp = h [f(x 0+4f(x 1 +f(x +4f(x +f(x 4 +......+f(x n +4f(x n 1 +f(x n ]. Pltí: Nechť funkce f m v intervlu, spojitou čtvrtou derivci, pk pltí: Nechť M 4 = mx x, f (4 (x,potom I I Simps = 90 f(4 (ξh 4,kde ξ (,. I I Simps 90 M 4h 4. Příkld 1: Vypočítejte pomocí odélníkového, lichoěžníkového Simpsonov prvidl přiližnou hodnotuintegrálu 1 1 ex dxpro n=4,odhdnětechyuproximcepoximciporovnejtesjejí přesnou hodnotou. Řešení: h= 1 ( 1 4 =0,5 x 0 = 1; x 1 = 1+0,5= 0,5; x =0; x =0,5; x 4 =1. f(x=f (1 (x=f ( (x=f (4 (x=e x, e x <, x 1,1 Nejdříve určíme přesnou hodnotu integrálu: I= 1 1 e x dx=[e x ] 1 1 =e1 e 1 =,504087 (1 Odélníkové prvidlo: ] I Od =0,5 [e 1+( 0,5 +e 0,5+0 +e 0+0,5 +e 0,5+1 =,6096 Odhdchyy I I Od 4 M h 4 0,5 =0,065 5
I Od I =0,0406 ( Lichoěžníkové prvidlo: I Lich = 0,5 [ e 1 +e 0,5 +e 0 +e 0,5 +e 1] =,99166 Odhdchyy I I Lich 1 M h 1 0,5 =0,15 ( Simpsonovo prvidlo: I Simps = 0,5 I Lich I =0,048764 [ e 1 +4e 0,5 +e 0 +4e 0,5 +e 1] =,51195 Odhdchyy I I Simps 90 M 4h 4 90 0,54 =0,008 I Simps I =0,000079 Newtonovy-Cotesovy kvdrturní vzorce- Richrdsonov extrpolce Poznámk:Sezvyšujícímsestupněm NN-Cvzorcůodvozenýchzinterpolčníchpolynomůřádu L N senemusízvyšovtpřesnostvýpočtu(n-cvzorcenejsoukonvergentní. Připomeňme, že z kpitoly o interpolčních polynomech víme(viz Rungeho příkld, že interpolční polynom vysokého stupně, může ýt velmi šptnou proximcí funkce. V tomto přípdě i výpočet integrálu pomocí N-C vzorce vysokého řádu y přinášel nesmyslné výsledky. Pokud chceme dosáhnout, y chy při numerickém výpočtu pomocí N-C vzorců yl menší než poždovná přesnost ǫ, lze ji zjistit volou dosttečně velkého počtu dílků n(který vypočítáme z odhdu proximční chyy. Tkto stnovený počet dílků všk ývá zytečně velký, neoť jsme derivci v neznámém odě intervlu nhrdili mximem této derivce v(,. Dlším prolémem ývá, že výpočet odhd derivcí integrovné funkce ývjí prcné. Příkld:Vypočítejte ntk,ychomspočítli π 0 ex cos xdxspřesností10 4 pomocílichoěžníkového prvidl. Řešení: h= n = π n = π n, určímedruhouderivcifunkce f(x=e x cos x, f ( (x= e x sin x, omezíme f(x, M = mx x 0, π ex sinx e π. 1 M h = π 1( π n e π 10 4 n 177. Experimentálně lze ověřit, že poždovná přesnost je dosžen pro nižší hodnotu n = 110. Stejně jko v kpitole o derivci lze k zpřesnění výpočtu použít Richrdsonovu extrpolci. Tto metod se nzývá tké metod polovičního kroku, či Rungeho metod. Připomeňme, jk se provede první krok Richrdsonovy extrpolce odvodíme vzth pro zpřesnění výpočtu npříkld u lichoěžníkového prvidl. 6
Rovnice(1: I= f(xdx=i Lich(h 1 f( (ξ 1 h Integrálodhdnemestejnýmvzorcemprolichoěžníkovéprvidlo,lespolovičnímkrokem h Rovnice(: I= I Lich (h/ 1 f( (ξ (h/ = I Lich (h/ 1 f( (ξ h Předpokládejme, že se hodnot derivce v oou výrzech příliš nemění(pro zjednodušení nechť f ( (ξ 1 =f ( (ξ,potomkdyžrovnici(vynásoíme4odečtemeodnírovnici(1,dostneme: Odoně lze odvodit pro Simpsonovo prvidlo: I=4I Lich (h I Lich (h/ I= I Lich (h/+ I Lich(h/ I Lich (h }{{} EL h/ I= I Sims (h/+ I Simps(h/ I Simps (h 15 }{{} ES h/ Provedeme zjemnění tento krok opkujeme dokud EL h n,resp. ES h nnenímenšínežpoždovná přesnost. Symolem I Ext Lich ( I Ext Simps udemeznčitproximcepomocíextrpolceprolichoěžníkové(simpsonovo prvidlo. Příkld:Vypočítejtepomocíextrpolce π 0 ex cos xdxspřesností10 pomocír.extrpolce pro lichoěžníkové Simpsonovo prvidlo. Řešení: Richrdsonov extrpolce- lichoěžníkové prvidlo: Pro n=4je h=0,5 Pro n=8je h=0,5 I Lich (0,5= 0,5 E(0,5= I Lich(0,5 I Lich (0,5 Pro n=16je h=0,15 E(0,15= I Lich(0,15 I Lich (0,5 [ e 1 +e 0,5 +e 0 +e 0,5 +e 1] =,99166 I Lich (0,5=,661 =,661,99166 I Lich (0,15=,5460 = E(0,15 <10,5460,661 = 0, 01178 Integrálodhdnemevýrzem: I Ext Lich = I Lich (0,15+E(0,15=,504056. Richrdsonov extrpolce- Simpsonovo prvidlo: Pro n=4je h=0,5 I Simps (0,5=,511948 = 0, 000564 Pro n=8je h=0,5 E(0,5= I Simps(0,5 I Simps (0,5 15 I Simps (0,5=,50450 =,50450,511948 = 0,000049 7
Integrálodhdnemevýrzem: I Ext Simps = I Simps (0,15+E(0,15=,5040. MATLAB Mtl má několik funkcí, pro numerický výpočet integrálů: trpz(@ fce,,- integrál lichoěžníkovým prvidlem funkce f ce n intervlu,, qud(@ fce,,- integrál Simpsonovým prvidlem funkce f ce n intervlu,, qudl(@ fce,,- integrál Lottovým prvidlem funkce f ce n intervlu,, dlqud(@ fce,xmin,xmx,ymin,ymx- dvojný integrál, triplequd(@ fce,xmin,xmx,ymin,ymx,zmin,zmx- trojný integrál. Spočítáme 0 x dx Funkce fce může ýt zdán pomocí příkzu inline tkto: >> F = inline( (x. >> Q = qud(f,0,; Neo může ýt zdán pomocí definice funkce: >> Q = qud(@ mojefunkce,0,; kde mojefunkce.m je M-file: function y = mojefunkce(x y = x. ; Pokud máme k dispozici tzv. symolický toolox, můžeme MATLAB využít pro přesné výpočty určitých integrálů(pokud existují neo pro nlezení primitivní funkce(existuje-li.zvedeme symolické proměnné- příkz syms proměnná1. Určitý integrál od do se spočítá pomocí symolické funkce int(výrz,,, kde výrz musí oshovt některou existující symolickou proměnnou. >> syms x >> int(x,0, ns = 4 Chceme-li njít primitivní funkci, použijeme symolickou funkci int s jedním prmetrem: int(výrz. >> syms x >> int(x -5 ns = 1/*x -5*x 8