Součásti dokumentu 01NUM1
Zdrojový kód
%\wikiskriptum{01NUM1}
\section{Derivace a integrace}
\begin{remark*}
Přednášeno bez prezentace, ta prý zatím není použitelná (ZS 2015/16)
Prezentace již, je k dispozici (ZS 2016/17).
\end{remark*}
\todo{Spáchala Hanele ze svých výpisků. Chtělo by to přepsat podle prezentace, ale už se mi to ve zkouškovém dělat nechce.}
\subsection{Numerická derivace}
Chceme-li derivovat funkci, známe-li pouze její funkční hodnoty, dostáváme se do problémů. Můžeme funkci zkusit aproximovat jejím Lagrangeovým polynomem a získat představu:
\[f'(x) \simeq L'_n (x)\]
tedy \[f'(x) - L'_n (x) = R'_n (x)\]
O \(R'_n (x)\) víme z \ref{LagrangeZbytek} \(R_n (x) = \frac{f^{( n + 1 )} ( \xi )}{( n + 1 )!} \omega_n ( x )\). Vyzkoušíme pro n=2:
\[R_2 (x) = \frac{f''' ( \xi )}{3!} (x-x_0)(x-x_1)(x-x_2)\]
tedy \[R'_2 (x) = \frac{f^{(4)} ( \xi(x))}{3!} (x-x_0)(x-x_1)(x-x_2) + \frac{f''' ( \xi )}{3!} [ \,(x-x_1)(x-x_2) + (x-x_0)(x-x_2) + (x-x_0)(x-x_1)] \, \]
Což přináší problém. Napočítat čtvrtou derivaci funkce $f$ je ještě o něco složitější, než její první. Zároveň nevíme nic o \(\xi\) a jeho závislosti na $x$. Tudy tedy cesta nepovede. Ukazuje se však, že \(R'_2 (x_i) \neq 0 \) \(\forall i \in \{0,1,2\}\).
Naším cílem tedy je udělat \(R'_n (x_i)\) libovolně malé \(\forall i \).
Mějme funkci \(f \in \mathcal C^2 ( x ) \). Vyjádříme její Lagrangeův polynom stupně 1 na intervalu \(\langle x_0; x_1 \rangle\)
\[L_1(x) = f(x_0) + f [ \, x_0; x_1] \,(x-x_0) = f(x_0) + \frac{f(x_1) - f(x_0)}{x_1 - x_0} (x-x_0)\]
\[L'_1(x) = \frac{f(x_1) - f(x_0)}{x_1 - x_0} = f'(\xi)\]
kde poslední rovnost plyne z Lagrangeovy věty o přírůstku funkce (\(\exists \xi \in \langle x_0; x_1 \rangle\) \( f(x_1) - f(x_0) =f'(\xi)(x_1 - x_0 \))).
Mějme tedy \(h = x_1 - x_0\). Bude nás zajímat chyba aproximace v závislosti na~zmenšujícím se $h$. K tomu budeme potřebovat konečné diference.
Předpokládejme nyní ekvidistantní rozdělení uzlů tak, že bude platit: \(x_i=x_0 + ih,\: \forall i \in \mathbb N\)
Rozvineme podle Taylora:
\[f(x_1) = f(x_0) + f'(x_0)\underbrace{(x_1-x_0)}_{h} + \frac{f''(x_0)}{2!}\underbrace{(x_1-x_0)^2}_{h^2} + \frac{f'''(\xi_1)}{3!}\underbrace{(x_1-x_0)^3}_{h^3}\]
\[f(x_{-1}) = f(x_0) + f'(x_0)\underbrace{(x-x_0)}_{h} + \frac{f''(x_0)}{2!}\underbrace{(x_{-1}-x_0)^2}_{h^2} + \frac{f'''(\xi_{-1})}{3!}\underbrace{(x_{-1}-x_0)^3}_{h^3}\]
Vytvoříme vlastně dopředné, respektive zpětné diference prvního řádu:
\[\frac{f(x_1)-f(x_0)}{h} = f'(x_0) + \frac{1}{2} f''(x_0)h + \frac{1}{3!}f'''(\xi_1)h^2 = f'(x_0) + \mathcal{O} (h)\]
\[\frac{f(x_0)-f(x_{-1})}{h} = f'(x_0) + \mathcal{O} (h)\]
Za předpokladu spojité diferencovatelnosti druhého řádu jsme schopni aproximovat první derivaci s~přesností prvního řádu.
\[f(x_1) - f(x_{-1}) = 2h f'(x_0) + \underbrace{\left(\frac{1}{2}f''(x_0)h^2 - \frac{1}{2}f''(x_0)h^2\right)}_{=0} + \frac{1}{3!}\left(f'''(\xi_1)h^3+f'''(\xi_{-1})h^3\right)\]
\[\frac{f(x_1) - f(x_{-1})}{2h} = f'(x_0)\frac{(f'''(\xi_1)+f'''(\xi_{-1})}{3!}h^3 = f'(x_0) + \mathcal{O} (h^2)\] za předpokladu spojité diferencovatelnosti do třetího řádu. Tvaru \(\frac{f(x_1) - f(x_{-1})}{2h}\) se říká centrální diference.
Protože \(\xi_1,\xi_{-1} \in \langle x_{-1};x_1\rangle\) a \(f\) je na \(\langle x_{-1};x_1\rangle\) spojitě diferencovatelná do třetího řádu, je \[\lvert \frac{1}{3!}(f'''(\xi_1)+f'''(\xi_{-1}) \rvert \leq C\] na \(\langle x_{-1};x_1\rangle\) tedy je omezená.
Přesuneme se k druhé derivaci. Rozepsání \(f(x_1)\) a \(f(x_{-1})\) tentokrát sečteme a dostaneme:
\[f(x_1) + f(x_{-1}) = 2f(x_0) +f''(x_0)h^2 + \frac{f'''(\xi_1) - f'''(\xi_{-1})}{3!}h^3\]
\[\frac{f(x_1) - 2f(x_0) + f(x_{-1})}{h^2} = f''(x_0) + \frac{f'''(\xi_1) - f'''(\xi_{-1})}{3!}h\]
Za předpokladu spojité diferencovatelnosti 3. řádu získáme odhad s~přesností $h$. Máme-li však spojitou diferencovatelnost čtvrtého řádu, je odhad s~přesností \(h^2\) (opět dokážeme přes Lagrange, vyskočí tam čtvrtá derivace).
\subsection{Numerická integrace}
Vzorce pro \(I(f)\) se nazývají vzorce pro numerickou integraci, resp. kvadraturní vzorce.
Mějme reálnou funkci reálné proměnné. Interval, na kterém chceme integrovat, stejně jako u derivace, rozdělíme ekvidistantně na menší intervaly:
\(x_i=x_0 + ih,\: \forall i \in \hat n\) a posčítáme příspěvky od jednotlivých částí. Použijeme interpolaci \(f(x)\) takovou, aby se dobře integrovalo.
Pro \(x\) blízké \(x_0\) bude přibližně platit:
\[\int_{a}^{b} f(x) dx = \int_{a}^{b} f(x_0) dx = (b-a)f(x_0) = f(x_0)h\]
Zajímá nás chyba, které se při této aproximaci dopustíme.
\[E_0(f) = \int_{a}^{b} f(x) dx - \int_{a}^{b} f(x_0) dx = \int_{a}^{b} \underbrace{(f(x) - \underbrace{f(x_0)}_{L_0(x)}) dx}_{R_0(x)}\]
Rozvineme \(f(x)\) Taylorem:
\[\int_{a}^{b} (f(x_0) + f'(x_0)(x-x_0) +\frac{1}{2} f''(\xi)(x-x_0)^2 - f(x_0)) dx = \int_{-\frac{h}{2}}^{\frac{h}{2}} f'(x_0)t +\frac{1}{2} f''(\xi)t^2 dt = \] \[ f'(x_0)\bigg[\frac{t^2}{2}\bigg]^\frac{h}{2}_\frac{h}{2} + \frac{1}{2} f''(\xi) \bigg[\frac{t^3}{3}\bigg]^\frac{h}{2}_\frac{h}{2} = \frac{1}{2} f''(\xi) \frac{h^3}{12} = \mathcal{O}(h^3)\]
Tedy odhad máme s přesností \(h^3\). Zkusíme se nyní přesunout k Lagrangeově polynomu vyššího řádu, vezměme \(n = 1\).
\[L_1(x) = f(x_0) + \frac{f(x_1) - f(x_0)}{x_1 - x_0} {x - x_0}\]
\[\int_{a}^{b} L_1(x) dx = \frac{1}{2} h (f(a) + (f(b))\]
\[E_1(f) = \int_{a}^{b} f(x) - f(x_0) - \frac{f(x_1) - f(x_0)}{x_1 - x_0} {x - x_0} dx \]
\[E_1(f) = \int_{a}^{b} R_1(x) dx = \int_{a}^{b} \frac{f''(\xi)}{2} (x-x_0)(x-x_1)dx = \frac{f''(\xi)}{2} \int_{0}^{h} t (t-h) dt = \frac{f''(\xi)}{2} \bigg[\frac{t^3}{3} - h \frac{t^2}{2} \bigg]^h_0 = \frac{f''(\xi)}{2} (\frac{h^3}{3} - h \frac{h^3}{2}) = \mathcal{O}(h^3)\]
Přednášku z ne úplně zjevného důvodu zakončila Cavalieri-Simpsonova formule:
\[I_2(f) = \frac{a-b}{6}(f(a) + 4f(\frac{a+b}{2}) + f(b))\]