3.6 Numerická integrace

V této podkapitole si ukážeme, jak v některých případech lze počítat Riemannův integrál numericky. Na tomto místě je ale vhodné poznamenat, že Riemannova konstrukce uvedená v předchozích částech této kapitoly přímo nabádá k numerickému výpočtu pomocí počítače. Nejvhodnější k tomuto účelu použít integrálních součtů, viz rovnici (3.1).

Téma numerické integrace zde jenom „nakousneme“, pro zvídavé čtenáře a čtenářky může představovat zajímavé doplnění hlavního textu. Postupně si zde ukážeme tři metody.

3.6.1 Středové pravidlo

Buď $f$ spojitá na intervalu $\langle a, b \rangle$. Pro $n \in \mathbb{N}$ a $\Delta \ceq \frac{b-a}{n}$ použijeme ekvidistantní dělení $x_i \ceq a + i\cdot\Delta$, $i = 0,1,\ldots,n$, tedy

\begin{equation*} \sigma = \big\{ a, \, a + \Delta, \, a + 2 \Delta, \ldots, \, a + (n-1)\Delta, \, a + n\Delta = b \big\}. \end{equation*}

Zde $\alpha_i$ v integrálním součtu volíme jako středy dělících intervalů, tedy

\begin{equation*} \alpha_i = \frac{x_{i-1} + x_i}{2}. \end{equation*}

Odtud je i patrné, proč mluvíme o středovém pravidlu. Hodnotu integrálu $\int^b_a f(x) \dx$ pak aproximujeme pomocí integrálního součtu

\begin{align*} \mathcal{J}(\sigma) &= \sum_{i = 1}^n f \left( \alpha_i \right) \Delta = \sum_{i = 1}^n f \left( \frac{x_{i-1}+x_i}{2} \right) \cdot \Delta = \\ &= \frac{b-a}{n} \cdot \sum_{i = 1}^n f \left( \frac{x_{i-1}+x_i}{2} \right).\end{align*}

Obrázek 3.15: Ilustrace k středovému pravidlu.

Pro dané $a,b \in \mathbb{R}$ a $n \in \mathbb{N}$ označme aproximaci integrálu $\int^b_a f(x) \dx$ jako

\begin{equation*} \mathcal{J}_{\mathrm{midpoint}} = \frac{b-a}{n} \cdot \sum_{i = 1}^n f \left( \frac{x_{i-1}+x_i}{2} \right). \end{equation*}

Následující věta nám předem umožňuje při zadané přesnosti určit potřebný počet dělících bodů.

Věta 3.10 (Odhad chyby ve středovém pravidlu)

Nechť funkce $f$ má na intervalu $\langle a, b \rangle$ druhou derivaci a existuje $M \in \mathbb{R}$ takové, že $|f''(x)| \leq M$ pro všechna $x \in \langle a, b \rangle$. Potom

\begin{equation*} \left|\int^b_a f(x) \dx - \mathcal{J}_{\mathrm{midpoint}}\right| \leq \frac{M (b-a)^3}{24 {\color{red}n^2}}. \end{equation*}

Důkaz nyní vynecháváme (potřebujeme k němu Taylorovy polynomy, které ještě nemáme probrané).

3.6.2 Lichoběžníkové pravidlo

Na dílčích intervalech se můžeme pokusit integrovanou funkci aproximovat lineární funkcí, která prochází body $(x_{i-1}, f(x_{i-1}))$ a $(x_{i}, f(x_{i}))$. „Obsah“ plochy pod grafem funkce, resp. $\int_{x_{i-1}}^{x_i} f(x) \,\mathrm{d}x$, pak lze aproximovat obsahem lichoběžníku

\begin{equation*} S = \frac{f(x_{i-1})+f(x_i)}{2} \cdot (x_{i} - x_{i-1}). \end{equation*}

Obrázek 3.16: Ilustrace k lichoběžníkovému pravidlu.
Obrázek 3.17: Ilustrace k lichoběžníkovému pravidlu.

Buď $f$ spojitá na intervalu $\langle a, b \rangle$. Pro $n \in \mathbb{N}$ a $\Delta \ceq \frac{b-a}{n}$ použijeme ekvidistantní dělení $x_i \ceq a + i\cdot\Delta$, $i = 0,1,\ldots,n,$ tedy

\begin{equation*} \sigma = \big\{ a, \, a + \Delta, \, a + 2 \Delta, \ldots, \, a + (n-1)\Delta, \, a + n\Delta = b \big\}. \end{equation*}

Hodnotu integrálu $\int^b_a f(x) \dx$ aproximujeme pomocí součtu obsahů lichoběžníků

\begin{align*} \sum_{i = 1}^n \frac{f(x_{i-1})+f(x_i)}{2} \cdot \Delta = \frac{b-a}{2 n} \cdot \left(f(a) + 2 \sum_{i = 1}^{n-1} f(x_i) + f(b)\right).\end{align*}

Pro dané $a,b \in \mathbb{R}$ a $n \in \mathbb{N}$ označme aproximaci integrálu $\int^b_a f(x) \dx$ jako

\begin{equation*} \mathcal{J}_{\mathrm{trapezoid}} = \frac{b-a}{2 n} \cdot \left(f(a) + 2 \sum_{i = 1}^{n-1} f(x_i) + f(b)\right). \end{equation*}

Věta 3.11 (Odhad chyby v lichoběžníkovém pravidlu)

Nechť funkce $f$ má na intervalu $\langle a, b \rangle$ druhou derivaci a existuje $M \in \mathbb{R}$ takové, že $|f''(x)| \leq M$ pro všechna $x \in \langle a, b \rangle$. Potom

\begin{equation*} \left|\int^b_a f(x) \dx - \mathcal{J}_{\mathrm{trapezoid}}\right| \leq \frac{M (b-a)^3}{12 {\color{red}n^2}}. \end{equation*}

Porovnejte tento výsledek s Větou 3.10. I když se z konstrukce zdá, že jsme od po částech konstantních funkcí přešli k „lepším“ po částech lineárním funkcím, tak odhad chyby je horší!

3.6.3 Simpsonovo pravidlo

Na tomto místě zmiňme aspoň jeden sofistikovanější způsob známý jako Simpsonovo pravidlo. Jeho myšlenka opět spočívá v konstrukci dělení $\{ a = x_0 < x_1 < \cdots < x_n = b \}$ intervalu $\langle a,b \rangle$. Nyní nahradíme funkci $f$ nad intervalem $\langle x_{i-1}, x_i \rangle$ její kvadratickou interpolací procházející body $\big(x_{i-1}, f(x_{i-1})\big)$, $\big(x_{i}, f(x_{i})\big)$ a $\big((x_{i-1}+x_i)/2, f((x_{i-1}+x_i)/2)\big)$. Hledáme proto kvadratickou funkci $\alpha x^2 + \beta x + \gamma$ splňující

\begin{align*} \alpha x_{i-1}^2 + \beta x_{i-1} + \gamma &= f(x_{i-1}), \\ \alpha x_{i}^2 + \beta x_i + \gamma &= f(x_i), \\ \alpha \Big(\frac{x_i + x_{i-1}}{2}\Big)^2 + \beta \frac{x_i + x_{i-1}}{2} + \gamma &= f\Big( \frac{x_i + x_{i-1}}{2} \Big).\end{align*}

Tyto tři lineární rovnice pro tři neznámé $\alpha$, $\beta$, $\gamma$ lze vyřešit (explicitní vzorečky pro ně lze nalézt v bi-ma2-m-integrace.nb notebooku na oficiální stránkách předmětu  BI-MA2). Příspěvek k integrálu na intervalu $\langle x_{i-1}, x_i \rangle$ pak nahradíme skutečným integrálem z této kvadratické funkce (viz Newtonovu formuli 3.6 dále),

\begin{equation*} \int_{x_{i-1}}^{x_i} \alpha x^2 + \beta x + \gamma \,\dx = \frac{1}{6}(x_{i} - x_{i-1}) \bigg( f(x_{i-1}) + f(x_i) + 4 f\Big( \frac{x_{i-1} + x_i}{2} \Big) \bigg). \end{equation*}

Tudíž podle Simpsonova pravidla je přibližnou hodnotou integrálu

\begin{equation*} \int_a^b f(x)\,\dx \end{equation*}

hodnota součtu

\begin{equation*} \sum_{i=1}^n \frac{1}{6}(x_{i} - x_{i-1}) \bigg( f(x_{i-1}) + f(x_i) + 4 f\Big( \frac{x_{i-1} + x_i}{2} \Big) \bigg), \end{equation*}

kde $\sigma = \{a = x_0 < x_1 < \cdots < x_n = b \}$ je dělení intervalu $\langle a,b \rangle$.

Obrázek 3.18: Ilustrace k Simpsonovu pravidlu.

Pro sudý počet dílčích intervalů (${\color{red}n}$) lze pro odhad integrálu $\int^{b}_{a} f(x) \dx$ použít výraz

\begin{equation*} \mathcal{J}_{\mathrm{Simpson}} = \frac{b - a}{3 n} \cdot \sum_{i=1}^{n/2}\big(f(x_{2i-2}) + 4 f(x_{2i-1}) + f(x_{2i}) \big). \end{equation*}

Odhad chyby nyní skutečně dostaneme lepší než v předchozích případech.

Věta 3.12 (Odhad chyby Simpsonova pravidla)

Nechť funkce $f$ má na intervalu $\langle a, b \rangle$ čtvrtou derivaci a existuje $M \in \mathbb{R}$ takové, že $|f^{(4)}(x)| \leq M$ pro všechna $x \in \langle a, b \rangle$. Potom

\begin{equation*} \left|\int^b_a f(x) \,\dx - \mathcal{J}_{\mathrm{Simpson}}\right| \leq \frac{M (b-a)^5}{180 {\color{red}n^4}}. \end{equation*}

Thomas Simpson byl britský matematik žijící v osmnáctém století (1710 – 1761). Přesnost numerických aproximací lze dále vylepšovat použitím interpolací pomocí polynomů vyšších stupňů. My jsme zde použili stupeň $0$ (midpoint), $1$ (trapezoid) a $2$ (Simpson).

Dále lze využívat adaptivní dělení, ne jen ekvidistantní. Tj. snažit se mít více dělících bodů v oblasti, kde se funkce více „mění“.