01NUM1:Kapitola9

Z WikiSkripta FJFI ČVUT v Praze
Přejít na: navigace, hledání
PDF [ znovu generovat, výstup z překladu ] Kompletní WikiSkriptum včetně všech podkapitol.
PDF Této kapitoly [ znovu generovat, výstup z překladu ] Přeložení pouze této kaptioly.
ZIPKompletní zdrojový kód včetně obrázků.

Součásti dokumentu 01NUM1

součástakcepopisposlední editacesoubor
Hlavní dokument editovatHlavní stránka dokumentu 01NUM1Kubuondr 26. 11. 201616:56
Řídící stránka editovatDefiniční stránka dokumentu a vložených obrázkůDedicma2 23. 5. 201721:31
Header editovatHlavičkový souborDedicma2 17. 1. 201616:20 header.tex
Kapitola0 editovatZnačeníDedicma2 23. 5. 201721:32 preamble.tex
Kapitola2 editovatOpakování a doplnění znalostí z lineární algebryKubuondr 30. 1. 201717:14 prezentace2.tex
Kapitola3 editovatÚvod do numerické matematikyKubuondr 10. 12. 201614:17 prezentace3.tex
Kapitola4 editovatPřímé metody pro lineární soustavyKubuondr 30. 1. 201711:27 prezentace4.tex
Kapitola5 editovatIterativní metodyKubuondr 31. 1. 201710:41 prezentace5.tex
Kapitola6 editovatVlastní čísla a vektory maticKubuondr 31. 1. 201713:13 prezentace6.tex
Kapitola7 editovatNelineární rovniceKubuondr 31. 1. 201714:27 prezentace7.tex
Kapitola8 editovatInterpolaceKubuondr 31. 1. 201715:43 prezentace8.tex
Kapitola9 editovatDerivace a integraceKubuondr 31. 1. 201717:33 prezentace9.tex

Zdrojový kód

%\wikiskriptum{01NUM1}
\section{Derivace a integrace}
 
\begin{remark*}
(ZS 2015/16) Přednášeno bez prezentace, ta prý zatím není použitelná. 
(ZS 2016/17) Prezentace již je k dispozici. Zatím ponecháno v původním stavu.
\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)\]
Z \ref{LagrangeZbytek} víme, že \(R_n (x) = \frac{f^{( n + 1 )} ( \xi )}{( n + 1 )!} \omega_n ( x )\). Aplikací Leibnizova pravidla pro derivování součinu dostaneme:
\[R_n^{(k)}(x) = \sum_{i = 0}^{k} \binom{k}{i} \frac{f^{(n+1+k-i)}(\xi(x))}{(n+1)!}\omega_n^{(i)}(x)\]
Pro napočítání \(k\)-té derivace tedy potřebujeme, aby byla \(f\) alespoň \(n+k+1\)–krát diferencovatelná, navíc neznáme závislost \(\xi\) na \(x\).  Ukazuje se navíc, že chyba derivace v uzlech není nulová. Tudy tedy cesta nepovede.
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_{-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_0) - f'(x_0)h + \frac{f''(x_0)}{2!}h^2 - \frac{f'''(\xi_{-1})}{3!}h^3\]
Vytvoříme dopředné, resp. 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 tedy 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^2 = 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} \left(f(x_0) + f'(x_0)(x-x_0) +\frac{1}{2} f''(\xi)(x-x_0)^2 - f(x_0)\right) dx = \int_{-\frac{h}{2}}^{\frac{h}{2}} f'(x_0)t +\frac{1}{2} f''(\xi)t^2 dt \leq \]
Za předpokladu \(f \in \mathcal C^{(2)}\) lze použít větu o střední hodnotě integrálu a odhadnout tak \(\lvert f''(\xi) \rvert \leq c\) (\(\xi\) totiž závisí na \(x\)):
 \[ \leq f'(x_0)\bigg[\frac{t^2}{2}\bigg]^\frac{h}{2}_{-\frac{h}{2}} + \frac{1}{2} c \bigg[\frac{t^3}{3}\bigg]^\frac{h}{2}_{-\frac{h}{2}} = \frac{1}{2} c \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{c}{2} \int_{0}^{h} t (t-h) dt =  \frac{c}{2} \bigg[\frac{t^3}{3} - h \frac{t^2}{2} \bigg]^h_0 = \frac{c}{2} (\frac{h^3}{3} - h \frac{h^2}{2}) = \mathcal{O}(h^3)\]
Znovu jsme použili větu o střední hodnotě integrálu a odhad \(\lvert f''(\xi) \rvert \leq c\).
Přednášku z ne úplně zjevného důvodu zakončila Cavalieri-Simpsonova formule:
 
\[I_2(f) = \frac{a-b}{6}\left(f(a) + 4f\left(\frac{a+b}{2}\right) + f(b)\right)\]