01NUM1:Kapitola9
Z WikiSkripta FJFI ČVUT v Praze
Verze z 29. 1. 2017, 11:51, kterou vytvořil Kubuondr (diskuse | příspěvky) (úprava derivace a integrace: napsán obecný vzorec pro chybu při použití Lagrangeova polynomu.)
[ 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. |
ZIP | Kompletní zdrojový kód včetně obrázků. |
Součásti dokumentu 01NUM1
součást | akce | popis | poslední editace | soubor | |||
---|---|---|---|---|---|---|---|
Hlavní dokument | editovat | Hlavní stránka dokumentu 01NUM1 | Dedicma2 | 3. 6. 2024 | 19:49 | ||
Řídící stránka | editovat | Definiční stránka dokumentu a vložených obrázků | Dedicma2 | 3. 6. 2024 | 19:48 | ||
Header | editovat | Hlavičkový soubor | Dedicma2 | 17. 1. 2016 | 16:20 | header.tex | |
Kapitola0 | editovat | Značení | Dedicma2 | 23. 5. 2017 | 21:32 | znaceni.tex | |
Kapitola2 | editovat | Opakování a doplnění znalostí z lineární algebry | Dedicma2 | 3. 6. 2024 | 15:41 | prezentace2.tex | |
Kapitola3 | editovat | Úvod do numerické matematiky | Dedicma2 | 3. 6. 2024 | 15:51 | prezentace3.tex | |
Kapitola4 | editovat | Přímé metody pro lineární soustavy | Dedicma2 | 3. 6. 2024 | 16:47 | prezentace4.tex | |
Kapitola5 | editovat | Iterativní metody | Dedicma2 | 3. 6. 2024 | 16:59 | prezentace5.tex | |
Kapitola6 | editovat | Vlastní čísla a vektory matic | Dedicma2 | 3. 6. 2024 | 17:07 | prezentace6.tex | |
Kapitola7 | editovat | Nelineární rovnice | Kubuondr | 31. 1. 2017 | 14:27 | prezentace7.tex | |
Kapitola8 | editovat | Interpolace | Kubuondr | 31. 1. 2017 | 15:43 | prezentace8.tex | |
Kapitola9 | editovat | Derivace a integrace | Kubuondr | 31. 1. 2017 | 17: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}\] 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} \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 = \] \[ 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}\left(f(a) + 4f\left(\frac{a+b}{2}\right) + f(b)\right)\]