Pokročilé numerické metody II 2. přednáška Metody Taylorova rozvoje Metody Rungeho-Kutty Jiří Zelinka Jiří Zelinka Pokročilé numerické metody II, 2. přednáška 1 / 10 Opakování Počáteční úloha: y′ = f (x, y), y(x0) = y0 Explicitní Eulerova metoda: yi+1 = yi + hf (xi , yi ) Implicitní Eulerova metoda: yi+1 = yi + hf (xi+1, yi+1) Lichoběžníková metoda: yi+1 = yi + 1 2 h[f (xi , yi ) + f (xi+1, yi+1)] Jiří Zelinka Pokročilé numerické metody II, 2. přednáška 2 / 10 Chyby, konvergence Lokální diskretizační chyba (ltei ): teoretická chyba v i-tém kroku pro přesné hodnoty Lokální chyba (lei ): chyba v i-tém kroku Globální chyba (ei ): y(xi ) − yi Řád metody: p, ltei = O(hp+1 ) Metoda se nazývá konvergentní v bodě x(= xn), jestliže pro h → 0, n → ∞, nh = xn − x0 platí yn → y(x). Eulerovy metody: ltei = O(h2 ), lei = O(h2 ), ltei − lei = O(h3 ), ei = O(h), jsou konvergentní (řádu 1) Lichoběžníková metoda: ltei = O(h3 ), lei = O(h3 ), ei = O(h2 ), je konvergentní (řádu 2) Jiří Zelinka Pokročilé numerické metody II, 2. přednáška 3 / 10 Stabilita Zkoumáme, co se děje pro konstantní h a n → ∞. Pro testovací úlohu y′ = λy, y(0) = 1, λ ∈ C, R(λ) < 0, požadujeme aby |yn+1| < |yn| Definované pojmy oblast stability, interval stability, A–stabilní metoda, L–stabilní metoda. Oblasti stability pro explicitní probrané metody. Metoda prediktor–korektor: iterační řešení implicitní metody Prediktor – explicitní Eulerova metoda – počáteční iterace: y (0) i+1 = yi + hf (xi , yi ) Korektor – implicitní Eulerova metoda – zpřesňování iterace: y (j+1) i+1 = yi + hf (xi+1, y (j) i+1) Jiří Zelinka Pokročilé numerické metody II, 2. přednáška 4 / 10 Metody Taylorova rozvoje y(x+h) = y(x)+hy′ (x)+ 1 2 h2 y′′ (x)+· · ·+ 1 n! hn y(n) (x)+O(hn+1 ) y′ (x) = f (x, y(x)) y′′ (x) = fx (x, y(x)) + fy (x, y(x))f (x, y(x)) y′′′ (x) = fxx + 2fxy f + fyy f 2 + fx fy + f 2 y f Použití: yi+1 = yi + hf (xi , yi ) + O(h2 ) yi+1 = yi + hf (xi , yi ) + 1 2 h2 [fx (xi , yi ) + fy (xi , yi )f (xi , yi )] + O(h3 ) yi+1 = yi + hf (xi , yi ) + 1 2 h2 [fx (xi , yi ) + fy (xi , yi )f (xi , yi )] + + 1 6 h3 [fxx + 2fxy f + fyy f 2 + fx fy + f 2 y f ](xi , yi ) + O(h4 ) Jiří Zelinka Pokročilé numerické metody II, 2. přednáška 5 / 10 Vlastnosti: metoda Taylorova rozvoje stupně n je řádu n. výhodou je libovolný dosažitelný řád metody. nevýhodou je nutnost počítat parciální derivace pro každou funkci f . zpravidla se používá jen pro f = f (y), pak vypadnou všechny členy obsahující fx . Jiří Zelinka Pokročilé numerické metody II, 2. přednáška 6 / 10 Metody Rungeho–Kutty (explicitní) Motivace: prediktor–korektor. Derivaci y′ (xi ) odhadujeme jako kombinaci hodnot směrového pole (hodnoty f (x, y)) „poblíž“ (xi , yi ). Explicitní metoda Rungeho–Kutty stupně s: yi+1 = yi + h(b1k1 + b2k2 + · · · + bsks) k1 = f (xi , yi ) k2 = f (xi + c2h, yi + ha21k1) k3 = f (xi + c3h, yi + h(a31k1 + a32k2)) ... ks = f (xi + csh, yi + h s−1 j=1 asj kj ) Jiří Zelinka Pokročilé numerické metody II, 2. přednáška 7 / 10 Butcherovy tabulky c2 a21 c3 a31 a32 ... ... cs as1 as2 . . . as,s−1 b1 b2 . . . bs−1 bs Podmínky řádu (ltei = O(hp+1 )): p = 1: s j=1 bj = 1 p = 2: s j=1 bj = 1, s j=2 bj cj = 1 2 p = 3: předchozí + s j=2 bj c2 j = 1 3 , s j=3 j−1 l=2 bj ajl cl = 1 6 Jiří Zelinka Pokročilé numerické metody II, 2. přednáška 8 / 10 Další podmínka: cj = j−1 l=1 ajl , splňují ji všechny používané metody Vztah mezi stupněm a řádem metody p(s): maximální dossažitelný řád pro metodu stupně s p(s) = s, s = 1, . . . , 4 p(5) = 4 p(6) = 5 p(7) = 6 p(8) = 6 p(9) = 7 p(s) ≤ s − 2, s ≥ 10 Jiří Zelinka Pokročilé numerické metody II, 2. přednáška 9 / 10 Metody druhého stupně (i řádu) Obecná m. 2. řádu (ab = 1/2) Modifikovaná EM (midpoint EM) a a 1 − b b 1/2 1/2 0 1 Ralstonova m. 2. řádu Heunova metoda 2/3 2/3 1/4 3/4 1 1 1/2 1/2 Jiří Zelinka Pokročilé numerické metody II, 2. přednáška 10 / 10