Numerická integrace Michal Čihák 6. listopadu 2012
Výpočty integrálů v praxi V přednáškách z matematické analýzy jste se seznámili s mnoha metodami výpočtu integrálů. V praxi se ale poměrně často můžeme setkat s případy, kdy žádná z těchto metod nevede k cíli. Potom je jedinou možností použít některou z přibližných metod výpočtu integrálu.
Výpočty integrálů v praxi V přednáškách z matematické analýzy jste se seznámili s mnoha metodami výpočtu integrálů. V praxi se ale poměrně často můžeme setkat s případy, kdy žádná z těchto metod nevede k cíli. Potom je jedinou možností použít některou z přibližných metod výpočtu integrálu.
Výpočty integrálů v praxi V přednáškách z matematické analýzy jste se seznámili s mnoha metodami výpočtu integrálů. V praxi se ale poměrně často můžeme setkat s případy, kdy žádná z těchto metod nevede k cíli. Potom je jedinou možností použít některou z přibližných metod výpočtu integrálu.
Výpočty integrálů v praxi Příklad: V matematické statistice často pracujeme s tzv. normovaným normálním rozdělením, jehož hustota je dána funkcí f(x) = 1 e x2 2 2π
Výpočty integrálů v praxi Příklad: V matematické statistice často pracujeme s tzv. normovaným normálním rozdělením, jehož hustota je dána funkcí f(x) = 1 e x2 2 2π Chceme-li určit pravděpodobnost, že hodnota náhodné veličiny s normálním rozdělením leží v intervalu a, b, pak musíme vypočítat b a 1 2π e x2 2 dx.
Výpočty integrálů v praxi Příklad: V matematické statistice často pracujeme s tzv. normovaným normálním rozdělením, jehož hustota je dána funkcí f(x) = 1 e x2 2 2π Chceme-li určit pravděpodobnost, že hodnota náhodné veličiny s normálním rozdělením leží v intervalu a, b, pak musíme vypočítat b a 1 2π e x2 2 dx. Tento integrál ale nelze exaktními metodami určit.
Dělené diference Představme si, že známe hodnoty neznámé spojité funkce f v n + 1 bodech x 0 < x 1 < < x n. Pro těchto n + 1 bodů existuje n + 1 tzv. nultých dělených diferencí funkce f f[x i ] = f(x i ), i = 0, 1,..., n.
Dělené diference Představme si, že známe hodnoty neznámé spojité funkce f v n + 1 bodech x 0 < x 1 < < x n. Pro těchto n + 1 bodů existuje n + 1 tzv. nultých dělených diferencí funkce f f[x i ] = f(x i ), i = 0, 1,..., n. Dále existuje n tzv. prvních dělených diferencí funkce f f[x i, x i+1 ] = f[x i+1] f[x i ] x i+1 x i, i = 0, 1,..., n 1.
Dělené diference Představme si, že známe hodnoty neznámé spojité funkce f v n + 1 bodech x 0 < x 1 < < x n. Pro těchto n + 1 bodů existuje n + 1 tzv. nultých dělených diferencí funkce f f[x i ] = f(x i ), i = 0, 1,..., n. Dále existuje n tzv. prvních dělených diferencí funkce f f[x i, x i+1 ] = f[x i+1] f[x i ] x i+1 x i, i = 0, 1,..., n 1. Dále pokračujeme indukcí. Pokud známe (k 1)-ní dělené diference f[x i, x i+1,..., x i+k 1 ], f[x i+1, x i+2,..., x i+k ], potom pro k-tou dělenou diferenci platí f[x i, x i+1,..., x i+k ] = f[x i+1, x i+2,..., x i+k ] f[x i, x i+1,..., x i+k 1 ] x i+k x i.
Dělené diference Celý proces ukončíme určením jediné n-té dělené diference f[x 0,..., x n ] = f[x 1,..., x n ] f[x 0,..., x n 1 ] x n x 0.
Dělené diference Celý proces ukončíme určením jediné n-té dělené diference f[x 0,..., x n ] = f[x 1,..., x n ] f[x 0,..., x n 1 ] x n x 0. S pomocí dělených diferencí lze Lagrangeův interpolační polynom pro funkci f s uzly x 0, x 1,..., x n vyjádřit ve tvaru P n (x) =f[x 0 ] + f[x 0, x 1 ](x x 0 ) + f[x 0, x 1, x 2 ](x x 0 )(x x 1 ) +... f[x 0, x 1,..., x n ](x x 0 )(x x 1 ) (x x n 1 ), který se nazývá Newtonův vzorec dělených diferencí.
Základní metody výpočtu určitých integrálů Funkci, jejíž určitý integrál na intervalu a, b chceme určit, nahradíme Lagrangeovým interpolačním polynomem. Z tohoto polynomu určíme určitý integrál na intervalu a, b. Otázkou je, jaký stupeň Lagrangeova interpolačního polynomu zvolit (kolik uzlů zvolit).
Základní metody výpočtu určitých integrálů Funkci, jejíž určitý integrál na intervalu a, b chceme určit, nahradíme Lagrangeovým interpolačním polynomem. Z tohoto polynomu určíme určitý integrál na intervalu a, b. Otázkou je, jaký stupeň Lagrangeova interpolačního polynomu zvolit (kolik uzlů zvolit).
Základní metody výpočtu určitých integrálů Funkci, jejíž určitý integrál na intervalu a, b chceme určit, nahradíme Lagrangeovým interpolačním polynomem. Z tohoto polynomu určíme určitý integrál na intervalu a, b. Otázkou je, jaký stupeň Lagrangeova interpolačního polynomu zvolit (kolik uzlů zvolit).
Obdélníkové pravidlo Začneme tím, že zvolíme jeden uzel (stupeň Lagrangeova interpolačního polynomu bude 0). Tento uzel zvolíme uprostřed intervalu a, b.
Obdélníkové pravidlo Začneme tím, že zvolíme jeden uzel (stupeň Lagrangeova interpolačního polynomu bude 0). Tento uzel zvolíme uprostřed intervalu a, b.
Obdélníkové pravidlo Potom lze vyjádřit b a f(x)dx b a P 0 (x)dx = b a ( ) a + b f[x 0 ]dx = f[x 0 ](b a) = f (b a). 2
Obdélníkové pravidlo Obdélníkové pravidlo: b a ( ) a + b f(x)dx f (b a). 2
Lichoběžníkové pravidlo Nyní zvolíme dva uzly (stupeň Lagrangeova interpolačního polynomu bude 1). Za uzly zvolíme krajní body intervalu a, b.
Lichoběžníkové pravidlo Nyní zvolíme dva uzly (stupeň Lagrangeova interpolačního polynomu bude 1). Za uzly zvolíme krajní body intervalu a, b.
Lichoběžníkové pravidlo Potom lze vyjádřit b f(x)dx b P 1 (x)dx = b a a a ( f[x0 ] + f[x 0, x 1 ](x x 0 ) ) dx.
Lichoběžníkové pravidlo Postupně vypočítáme b a f(x)dx b a P 1 (x)dx = b (x a)2 = [f[a]x + f[a, b] 2 a ( f[x0 ] + f[x 0, x 1 ](x x 0 ) ) dx = ] b f(b) f(a) = f(a)(b a) + b a f(a) + f(b) = (b a). 2 a = [ (b a) 2 2 ] (a a)2 = 2
Lichoběžníkové pravidlo Lichoběžníkové pravidlo: b a f(x)dx (b a) f(a) + f(b). 2
Simpsonovo pravidlo Nyní zvolíme tři uzly (stupeň Lagrangeova interpolačního polynomu bude 2). Za uzly zvolíme krajní body a střed intervalu a, b.
Simpsonovo pravidlo Nyní zvolíme tři uzly (stupeň Lagrangeova interpolačního polynomu bude 2). Za uzly zvolíme krajní body a střed intervalu a, b.
Simpsonovo pravidlo Potom lze vyjádřit b f(x)dx b a a P 2 (x)dx.
Simpsonovo pravidlo
Simpsonovo pravidlo Simpsonovo pravidlo: b a f(x)dx (b a) 6 [ f(a) + 4f ( a + b 2 ) ] + f(b).
Porovnání jednotlivých metod V první tabulce jsou uvedeny hodnoty určitých integrálů různých funkcí vypočtené na intervalu 1; 1,2 různými metodami obdélníkovým pravidlem (Midpoint), lichoběžníkovým pravidlem (Trapezoidal) a Simpsonovým pravidlem. V prvním řádku tabulky jsou přitom uvedeny přesné hodnoty.
Porovnání jednotlivých metod V první tabulce jsou uvedeny hodnoty určitých integrálů různých funkcí vypočtené na intervalu 1; 1,2 různými metodami obdélníkovým pravidlem (Midpoint), lichoběžníkovým pravidlem (Trapezoidal) a Simpsonovým pravidlem. V prvním řádku tabulky jsou přitom uvedeny přesné hodnoty.
Porovnání jednotlivých metod Ve druhé tabulce jsou uvedeny hodnoty určitých integrálů různých funkcí vypočtené na intervalu 0; 2 různými metodami obdélníkovým pravidlem (Midpoint), lichoběžníkovým pravidlem (Trapezoidal) a Simpsonovým pravidlem. V prvním řádku tabulky jsou přitom uvedeny přesné hodnoty.
Porovnání jednotlivých metod Ve druhé tabulce jsou uvedeny hodnoty určitých integrálů různých funkcí vypočtené na intervalu 0; 2 různými metodami obdélníkovým pravidlem (Midpoint), lichoběžníkovým pravidlem (Trapezoidal) a Simpsonovým pravidlem. V prvním řádku tabulky jsou přitom uvedeny přesné hodnoty.
Jak zvýšit přesnost numerické integrace Příklad: Určete pomocí Simpsonova pravidla 2 0 ex dx.
Jak zvýšit přesnost numerické integrace Příklad: Určete pomocí Simpsonova pravidla 2 0 ex dx. 2 0 e x dx 1 3 (e0 + 4e 1 + e 2 ) = 6,4207278.
Jak zvýšit přesnost numerické integrace Příklad: Určete pomocí Simpsonova pravidla 2 0 ex dx. 2 Přesná hodnota je přitom 0 2 0 e x dx 1 3 (e0 + 4e 1 + e 2 ) = 6,4207278. e x dx = [e x ] 2 0 = e 2 e 0 = 6,3890561.
Jak zvýšit přesnost numerické integrace Příklad: Určete pomocí Simpsonova pravidla 2 0 ex dx. 2 Přesná hodnota je přitom 0 2 0 e x dx 1 3 (e0 + 4e 1 + e 2 ) = 6,4207278. e x dx = [e x ] 2 0 = e 2 e 0 = 6,3890561. Absolutní chyba aproximace je tedy 0,0316717. Takováto chyba může být pro některé aplikace nepřijatelně vysoká.
Jak zvýšit přesnost numerické integrace Zkusme zvýšit přesnost aproximace tím, že rozdělíme interval 0, 2 na dva podintervaly 0, 1 a 1, 2 a na každém z nich použijeme Simpsonovo pravidlo
Jak zvýšit přesnost numerické integrace Zkusme zvýšit přesnost aproximace tím, že rozdělíme interval 0, 2 na dva podintervaly 0, 1 a 1, 2 a na každém z nich použijeme Simpsonovo pravidlo 2 0 e x dx = 1 0 e x dx + 2 1 e x dx 1 6 (e0 + 4e 0,5 + e 1 ) + 1 6 (e1 + 4e 1,5 + e 2 ) = = 1 6 (e0 + 4e 0,5 + 2e 1 + 4e 1,5 + e 2 ) = 6,3912102.
Jak zvýšit přesnost numerické integrace Zkusme zvýšit přesnost aproximace tím, že rozdělíme interval 0, 2 na dva podintervaly 0, 1 a 1, 2 a na každém z nich použijeme Simpsonovo pravidlo 2 0 e x dx = 1 0 e x dx + 2 1 e x dx 1 6 (e0 + 4e 0,5 + e 1 ) + 1 6 (e1 + 4e 1,5 + e 2 ) = = 1 6 (e0 + 4e 0,5 + 2e 1 + 4e 1,5 + e 2 ) = 6,3912102. Absolutní chyba aproximace se zmenšila na 0,0021541, což je méně než 10 % původní absolutní chyby.
Jak zvýšit přesnost numerické integrace Zkusme ještě dále rozdělit intervaly 0, 1 a 1, 2 na další podintervaly. Při použití Simpsonova pravidla dostaneme
Jak zvýšit přesnost numerické integrace Zkusme ještě dále rozdělit intervaly 0, 1 a 1, 2 na další podintervaly. Při použití Simpsonova pravidla dostaneme 2 0 e x dx = 0,5 0 1 e x dx + e x dx + 0,5 1,5 1 2 e x dx + e x dx 1,5 1 12 (e0 + 4e 0,25 + e 0,5 ) + 1 12 (e0,5 + 4e 0,75 + e 1 )+ + 1 12 (e1 + 4e 1,25 + e 1,5 ) + 1 12 (e1,5 + 4e 1,75 + e 2 ) = = 1 12 (e0 + 4e 0,25 + 2e 0,5 + 4e 0,75 + e 1 + 4e 1,25 + 2e 1,5 + 4e 1,75 + e 2 ) = 6,3891937.
Jak zvýšit přesnost numerické integrace Zkusme ještě dále rozdělit intervaly 0, 1 a 1, 2 na další podintervaly. Při použití Simpsonova pravidla dostaneme 2 0 e x dx = 0,5 0 1 e x dx + e x dx + 0,5 1,5 1 2 e x dx + e x dx 1,5 1 12 (e0 + 4e 0,25 + e 0,5 ) + 1 12 (e0,5 + 4e 0,75 + e 1 )+ + 1 12 (e1 + 4e 1,25 + e 1,5 ) + 1 12 (e1,5 + 4e 1,75 + e 2 ) = = 1 12 (e0 + 4e 0,25 + 2e 0,5 + 4e 0,75 + e 1 + 4e 1,25 + 2e 1,5 + 4e 1,75 + e 2 ) = 6,3891937. Absolutní chyba aproximace se zmenšila na 0,0001376, což je už jen 0,4 % původní absolutní chyby (při použití Simpsonova pravidla na celý interval 0, 2 ).
Složené Simpsonovo pravidlo Zobecněním předchozího postupu získáme tzv. Simpsonovo složené pravidlo.
Složené Simpsonovo pravidlo Zobecněním předchozího postupu získáme tzv. Simpsonovo složené pravidlo.
Složené Simpsonovo pravidlo Zvolíme sudé číslo n a rozdělíme interval a, b na n podintervalů. Označíme-li h = (b a)/n, potom krajní body podintervalů jsou a = x 0 < x 1 < < x n = b, kde x i = x 0 + ih pro každé i = 0, 1,..., n. Na každém z intervalů (x 2j 2, x 2j ), kde j = 1, 2,..., n/2, potom použijeme Simpsonovo pravidlo
Složené Simpsonovo pravidlo Zvolíme sudé číslo n a rozdělíme interval a, b na n podintervalů. Označíme-li h = (b a)/n, potom krajní body podintervalů jsou a = x 0 < x 1 < < x n = b, kde x i = x 0 + ih pro každé i = 0, 1,..., n. Na každém z intervalů (x 2j 2, x 2j ), kde j = 1, 2,..., n/2, potom použijeme Simpsonovo pravidlo b a f(x)dx n/2 x2j j=1 x 2j 2 f(x)dx = n/2 ( ) h = 3 [f(x 2j 2) + 4f(x 2j 1 ) + f(x 2j )] = j=1 = h (n/2) 1 n/2 f(x 0 ) + 2 f(x 2j ) + 4 f(x 2j 1 ) + f(x n ). 3 j=1 j=1
Absolutní chyba aproximace Simpsonovým složeným pravidlem Lze odvodit (metodami diferenciálního a integrálního počtu), že absolutní chyba aproximace Simpsonovým složeným pravidlem je rovna h 4 (b a) f (4) (ξ) 180, kde f (4) (ξ) je čtvrtá derivace funkce f v bodě ξ, přičemž ξ je nějaké číslo z intervalu (a, b).
Složené Simpsonovo pravidlo příklad Příklad: Určete pomocí složeného Simpsonova pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat?
Složené Simpsonovo pravidlo příklad Příklad: Určete pomocí složeného Simpsonova pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat? h 4 (b a) f (4) (ξ) 180 = h4 π 180 sin ξ h4 π 180 1 = π5 180n 4 < 0,00002.
Složené Simpsonovo pravidlo příklad Příklad: Určete pomocí složeného Simpsonova pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat? h 4 (b a) f (4) (ξ) 180 = h4 π 180 sin ξ h4 π 180 1 = π5 180n 4 < 0,00002. Z poslední nerovnosti určíme, že n > 18. Můžeme tedy zvolit například n = 20 a h = π/20.
Složené Simpsonovo pravidlo příklad Příklad: Určete pomocí složeného Simpsonova pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat? h 4 (b a) f (4) (ξ) 180 = h4 π 180 sin ξ h4 π 180 1 = π5 180n 4 < 0,00002. Z poslední nerovnosti určíme, že n > 18. Můžeme tedy zvolit například n = 20 a h = π/20. S použitím těchto hodnot obdržíme pomocí složeného Simpsonova pravidla π 0 sin xdx π sin 0 + 2 60 = 2,00000678. 9 ( ) jπ sin 10 j=1 10 ( ) (2j 1)π + 4 sin + sin π = 20 j=1
Složené Simpsonovo pravidlo příklad Příklad: Určete pomocí složeného Simpsonova pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat? h 4 (b a) f (4) (ξ) 180 = h4 π 180 sin ξ h4 π 180 1 = π5 180n 4 < 0,00002. Z poslední nerovnosti určíme, že n > 18. Můžeme tedy zvolit například n = 20 a h = π/20. S použitím těchto hodnot obdržíme pomocí složeného Simpsonova pravidla π 0 sin xdx π sin 0 + 2 60 = 2,00000678. 9 ( ) jπ sin 10 j=1 10 ( ) (2j 1)π + 4 sin + sin π = 20 Přesná hodnota je přitom π sin xdx = 2, absolutní chyba je tedy 0 v tomto případě rovna 0,00000678, což je skutečně méně než zadaná maximální přípustná chyba 0,00002. j=1
Složené Simpsonovo pravidlo shrnutí Předpokládejme, že funkce f má spojité derivace až do 4. řádu na intervalu a, b. Nechť dále n je sudé číslo, h = (b a)/n a x j = a + jh pro každé j = 0, 1,..., n. Potom pro nějaké ξ (a, b) platí b a f(x)dx = h f(a) + 2 3 (n/2) 1 j=1 h4 (b a) f (4) (ξ). 180 n/2 f(x 2j ) + 4 j=1 f(x 2j 1 ) + f(b)
Složené lichoběžníkové pravidlo Předpokládejme, že funkce f má spojité derivace až do 2. řádu na intervalu a, b. Nechť dále n je libovolné přirozené číslo, h = (b a)/n a x j = a + jh pro každé j = 0, 1,..., n. Potom pro nějaké ξ (a, b) platí b a f(x)dx = h f(a) + 2 2 (n 1 j=1 f(x j ) + f(b) h2 (b a) f (2) (ξ). 12
Složené obdélníkové pravidlo Předpokládejme, že funkce f má spojité derivace až do 2. řádu na intervalu a, b. Nechť dále n je sudé číslo, h = (b a)/(n + 2) a x j = a + (j + 1)h pro každé j = 1, 0, 1,..., n + 1. Potom pro nějaké ξ (a, b) platí b a n/2 f(x)dx = 2h f(x 2j ) + h2 (b a) f (2) (ξ). 6 j=0
Složené lichoběžníkové pravidlo příklad Příklad: Určete pomocí složeného lichoběžníkového pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat?
Složené lichoběžníkové pravidlo příklad Příklad: Určete pomocí složeného lichoběžníkového pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat? h 2 (b a) f (2) (ξ) 12 = h2 π 12 sin ξ h2 π 12 1 = π3 12n 2 < 0,00002.
Složené lichoběžníkové pravidlo příklad Příklad: Určete pomocí složeného lichoběžníkového pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat? h 2 (b a) f (2) (ξ) 12 = h2 π 12 sin ξ h2 π 12 1 = π3 12n 2 < 0,00002. Z poslední nerovnosti určíme, že n > 359 (oproti Simpsonovu pravidlu výrazně více!)
Složené lichoběžníkové pravidlo příklad Příklad: Určete pomocí složeného lichoběžníkového pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat? h 2 (b a) f (2) (ξ) 12 = h2 π 12 sin ξ h2 π 12 1 = π3 12n 2 < 0,00002. Z poslední nerovnosti určíme, že n > 359 (oproti Simpsonovu pravidlu výrazně více!) Pro srovnání ještě uveďme, že pro n = 20 a h = π/20 obdržíme pomocí složeného lichoběžníkového pravidla π 0 sin xdx 1,995886. Absolutní chyba této aproximace je 0,004114, což jen potvrzuje naše předchozí zjištění, že 20 intervalů je pro dosažení požadované přesnosti málo.
Složené obdélníkové pravidlo příklad Příklad: Určete pomocí složeného obdélníkového pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat?
Složené obdélníkové pravidlo příklad Příklad: Určete pomocí složeného obdélníkového pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat? h 2 (b a) f (2) (ξ) 6 = h2 π 6 sin ξ h2 π 6 1 = π 3 6(n + 2) 2 < 0,00002.
Složené obdélníkové pravidlo příklad Příklad: Určete pomocí složeného obdélníkového pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat? h 2 (b a) f (2) (ξ) 6 = h2 π 6 sin ξ h2 π 6 1 = π 3 6(n + 2) 2 < 0,00002. Z poslední nerovnosti určíme, že n + 2 > 508 (oproti Simpsonovu pravidlu opět výrazně více!)
Složené obdélníkové pravidlo příklad Příklad: Určete pomocí složeného obdélníkového pravidla π sin dx 0 s absolutní chybou menší než 0,00002. Kolik podintervalů intervalu 0, π budeme pro tento účel potřebovat? h 2 (b a) f (2) (ξ) 6 = h2 π 6 sin ξ h2 π 6 1 = π 3 6(n + 2) 2 < 0,00002. Z poslední nerovnosti určíme, že n + 2 > 508 (oproti Simpsonovu pravidlu opět výrazně více!) Pro srovnání ještě uveďme, že pro n + 2 = 20 a h = π/20 obdržíme pomocí složeného obdélníkového pravidla π 0 sin xdx 2,008248. Absolutní chyba této aproximace je 0,008248, což jen potvrzuje naše předchozí zjištění, že 20 intervalů je pro dosažení požadované přesnosti málo.