numerického riešenia diferenciálnych rovníc

Podobne dokumenty
Numerické metody 8. května FJFI ČVUT v Praze

Funkce zadané implicitně. 4. března 2019

Formálne jazyky Automaty. Formálne jazyky. 1 Automaty. IB110 Podzim

Inverzní Z-transformace

Vztah funkce a grafu funkce

Cauchyova úloha pro obyčejnou diferenciální rovnici

Necht je funkce f spojitá v intervalu a, b a má derivaci v (a, b). Pak existuje bod ξ (a, b) tak, že f(b) f(a) b a. Geometricky

1 Soustava lineárních rovnic

Aproximace funkcí 1,00 0,841 1,10 0,864 1,20 0,885. Body proložíme lomenou čarou.

5. a 12. prosince 2018

Elementární funkce. Edita Pelantová. únor FJFI, ČVUT v Praze. katedra matematiky, FJFI, ČVUT v Praze

Kristýna Kuncová. Matematika B2 18/19

Dve bariéry, rezonančné tunelovanie

Okrajový problém podmínky nejsou zadány v jednom bodu nejčastěji jsou podmínky zadány ve 2 bodech na okrajích, ale mohou být

Matematika 2, vzorová písemka 1

Komplexní analýza. Martin Bohata. Katedra matematiky FEL ČVUT v Praze Martin Bohata Komplexní analýza Mocninné řady 1 / 18

Co nám prozradí derivace? 21. listopadu 2018

Kapitola 4: Soustavy diferenciálních rovnic 1. řádu

Numerické metody minimalizace

Kapitola 2. Nelineární rovnice

Geometrická nelinearita: úvod

Zdroje informácie. Stanislav Palúch. 5. marca Fakulta riadenia a informatiky, Žilinská univerzita

Průvodce studiem V této kapitole se budeme zabývat diferenciálním počtem pro funkce více

(1) Derivace. Kristýna Kuncová. Matematika B2 17/18. Kristýna Kuncová (1) Derivace 1 / 35

x2 + 2x 15 x 2 + 4x ) f(x) = x 2 + 2x 15 x2 + x 12 3) f(x) = x 3 + 3x 2 10x. x 3 + 3x 2 10x x 2 + x 12 10) f(x) = log 2.

Numerické metody a statistika

Určitý (Riemannův) integrál a aplikace. Nevlastní integrál. 19. prosince 2018

Metody, s nimiž se seznámíme v této kapitole, lze použít pro libovolnou

(13) Fourierovy řady

kontaktní modely (Winklerův, Pasternakův)

Vybrané kapitoly z matematiky

Diferenciální rovnice základní pojmy. Rovnice se

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 7a. Metody wielokrokowe

Tvarová optimalizace pro 3D kontaktní problém

MATEMATIKA 3 NUMERICKÉ METODY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci



Kristýna Kuncová. Matematika B3

Petr Beremlijski, Marie Sadowská

Sb ırka pˇr ıklad u z matematick e anal yzy II Petr Tomiczek

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra matematiky

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

Stochastické modelování v ekonomii a financích Konzistence odhadu LWS. konzistence OLS odhadu. Předpoklady pro konzistenci LWS

Petr Hasil. c Petr Hasil (MUNI) Nekonečné řady MA III (M3100) 1 / 187

Obsah. Limita posloupnosti a funkce. Petr Hasil. Limita posloupnosti. Pro a R definujeme: Je-li a < 0, pak a =, a ( ) =. vlastní body.


Wstęp do metod numerycznych 14. Kilka wstępnych uwag na temat numerycznego rozwiazywania równań różniczkowych zwyczajnych

Matematika III Stechiometrie stručný

Matematická analýza 2. Kubr Milan

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 8. Metody wielokrokowe Metody Verleta

Prioritná os 1 Ochrana a rozvoj prírodného a kultúrneho dedičstva cezhraničného územia

Komputerowa analiza zagadnień różniczkowych 6. Metody wielokrokowe. P. F. Góra

Metoda Runge-Kutta-Fehlberga i sterowanie długością kroku

Matematická analýza II pro kombinované studium. Konzultace první a druhá. RNDr. Libuše Samková, Ph.D. pf.jcu.cz

Kristýna Kuncová. Matematika B2 18/19. Kristýna Kuncová (1) Vzorové otázky 1 / 36

Obsah. 1.2 Integrály typu ( ) R x, s αx+β

MATEMATIKA 3. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Monitoring kolónií svišťa vrchovského tatranského (Marmota marmota latirostris) na poľsko-slovenskej hranici a pytliactvo

Chyby, podmíněnost a stabilita

Numerické metody KI/NME. Doc. RNDr. Jiří Felcman, CSc. RNDr. Petr Kubera, Ph.D.


Edita Pelantová, katedra matematiky / 16

IEL Přechodové jevy, vedení

Kristýna Kuncová. Matematika B2

Matematika (KMI/PMATE)

Rovnice proudění Slapový model

Stavový popis Stabilita spojitých systémů (K611MSAP) Katedra aplikované matematiky Fakulta dopravní ČVUT. čtvrtek 20. dubna 2006


TGH01 - Algoritmizace

Trasa podľa služby HIKEPLANNER Výsledky vyhľadávania. Tu je priestor pre tvoje poznámky: Tip: pod mapou je priestor pre tvoje poznámky

podle přednášky doc. Eduarda Fuchse 16. prosince 2010

q (s, z) = ( ) (λ T) ρc = q

Úvodní informace. 18. února 2019

Stabilita proudění. Matematický ústav, Univerzita Karlova. 7. května 2015

DFT. verze:

Lineární algebra - iterační metody


(a). Pak f. (a) pro i j a 2 f

δ δ δ 1 ε δ δ δ 1 ε ε δ δ δ ε ε = T T a b c 1 = T = T = T

Wykład 14 i 15. Równania różniczkowe. Równanie o zmiennych rozdzielonych. Definicja 1. Równaniem różniczkowym zwyczajnym rzędu n nazywamy równanie

TGH01 - Algoritmizace

MATEMATIKA 1 ALEŠ NEKVINDA. + + pokud x < 0; x. Supremum a infimum množiny.

Základy informatiky IB110. podzim Fakulta informatiky Masarykova univerzita

Operace s funkcemi [MA1-18:P2.1] funkční hodnota... y = f(x) (x argument)

FAKULTA STAVEBNÍ NUMERICKÉ METODY II

1 Warunkowe wartości oczekiwane

7. Aplikace derivace

NENECHÁVAJTE NEPOUŽÍVAJTE NENOSTE

Wykład VI. Badanie przebiegu funkcji. 2. A - przedział otwarty, f D 2 (A) 3. Ekstrema lokalne: 4. Punkty przegięcia. Uwaga!

Slabá formulace rovnic proudění tekutin

YNUM - Numerická matematika

FAKULTA STAVEBNÍ JOSEF DALÍK NUMERICKÉ METODY II

heteroskedasticitě Radim Navrátil, Jana Jurečková Katedra pravděpodobnosti a matematické statistiky, MFF UK, Praha

*&#&+&",(. -./01.23/ !"#$%&"'( )$*+,-"%.+-./ 0$1$%"-23./ 3.-4$%$-5&& $3"6% ".

Teorie. kuncova/ Definice 1. Necht f je reálná funkce a a R. Jestliže existuje.

Zdzisław Dzedzej. Politechnika Gdańska. Gdańsk, 2013

Jednoduchá zobrazení. Podpořeno z projektu FRVŠ 584/2011.

Wykład X Rozwiązywanie zagadnień początkowych dla równań różniczkowych zwyczajnych

II. List of possible additional projects: 1. TPP Morava General


Transkrypt:

Numerické riešenie diferenciálnych rovníc reálny problém presné riešenie matematický model (často diferenciálna rovnica) numerické riešenie Ciel prednášky: uviest niektoré zo spôsobov numerického riešenia diferenciálnych rovníc

Faktory ovplyvňujúce numerické riešenie: chyba metódy - zjednodušenie matematického modelu na numericky riešitel ný chyby zaokrúhl ovania - chyby vznikajúce riešením na počítači (minulý semester) Klasifikácia diferenciálnych rovníc: obyčajné - začiatočná a okrajová úloha parciálne

Obyčajné diferenciálne rovnice Najjednoduchší prípad - rovnica 1. rádu, začiatočná úloha y (x) = f(x, y(x)) x > x 0 (1) y(x 0 ) = y 0 (2) Veta: (Existencia a jednoznačnost ) Nech funkcia f je spojitá v oboch svojich premenných x, y a nech f je globálne Lipschitzovky spojitá v y tj. L > 0 f(x, y 1 ) f(x, y 2 ) L y 1 y 2 x, y 1, y 2. Potom rovnica (1) má jediné riešenie spĺňajúce (2).

Diskretizačné metódy Jednokrokové metódy Máme problém (1) so začiatočnou podmienkou (2). Nech h > 0, x k = x 0 + kh, k = 1, 2, 3,... nech y k je označenie pre aproximáciu riešenia y(x k ) pre jednokrokovú metódu riešenie y k+1 závisí od riešenia v bode x k (resp. x k+1, x k )

Eulerova metóda napred (polygónová metóda) Prepíšeme rovnicu (1) v bode x = x k y (x) = f(x xk k, y(x k )). Nahradením derivácie na l avej strane doprednou diferenciou (diferenciou napred) y (x) y k+1 y k xk h dostaneme Eulerovu metódu napred (vid obrázok) y k+1 = y k + hf(x k, y k ) (3)

y(x) y(x k+1 ) y k+1 y k x k x k+1 Euler napred graficky

Analýza chyby Majme metódu tvaru y k+1 = y k + hφ(x k, y k ). Uvedieme definície lokálnej a globálnej diskretizačnej chyby. Lokálna diskretizačná chyba Definícia: Predpokladajme, že y k = y(x k ). Pod lokálnou diskretizačnou chybou v bode x k budeme rozumiet výraz L(x k, h) = 1 h (y(x k+1) y(x k )) φ(x k, y(x k ))

alebo v bode x L(x, h) = 1 (y(x + h) y(x)) φ(x, y(x)). h Poznámka: Lokálna diskretizačná chyba je chyba, ktorú produkuje jeden krok metódy. Poznámka: L(x k, h) = 1 h (y(x k+1) y k+1 ) - niekedy bez 1 h Lokálna diskretizačná chyba pre Eulera napred: Použijeme Taylorov rozvoj pre dostatočne hladkú funkciu y (a f) y(x+h) = y(x)+y (x)h+y (z) h2 2 = y(x)+f(x, y(x))h+y (z) h2 2.

L(x, h) = 1 (y(x + h) y(x)) f(x, y(x)) = h = 1 h (y(x) + f(x, y(x))h + y (z) h2 = 1 h y (z) h2 2 = y (z) 2 h 2 y(x)) f(x, y(x)) = L(x, h) Mh = O(h) ak y (x) 2M (M > 0) Globálna diskretizačná chyba Definícia:Pod globálnou diskretizačnou chybou budeme rozumiet výraz E(h) = max k y(x k ) y k.

Globálna diskretizačná chyba pre Eulera napred: Teraz určíme, ako môžeme odhadnút globálnu diskretizačnú chybu pre Eulerovu metódu napred. Označme Z Taylorovho rozvoja máme ε k := y k y(x k ). y(x k+1 ) = y(x k +h) = y(x k )+hy (x k )+ h2 2 y (z k ), z k (x k, x k+1 ). Odčítaním (3) a (4) dostaneme ε k+1 = ε k + h(f(x k, y k ) f(x k, y(x k ))) h2 2 y (z k ). (4)

Funkcia f je lipschitzovsky spojitá v y. Preto ε k+1 ε k + hl y k y(x k ) + h2 2 y (z k ) ε k (1 + hl) + h2 2 max y (z) = A ε z k + B, kde A = 1 + hl, B = h2 2 max z y (z). Ukážeme tvrdenie, z ktorého potom máme odhad pre globálnu diskretizačnú chybu: Tvrdenie: Ak ε 0 = 0, A = 1 + α (α > 0) a k IN platí: potom ε k A ε k 1 + B ε k Ak 1 A 1 B eαk 1 B. α

Dôkaz: Platí ε k A ε k 1 + B A 2 ε k 2 + B(1 + A) A k ε 0 + B k 1 j=0 A j = B Ak 1 A 1. Naviac z Taylorovho rozvoja funkcie e x dostaneme e x = 1 + x + x2 2 ez 1 + x Potom už len dosadením 1 < A k = (1 + α) k e kα. ε k B ekhl 1 hl = e(x k x 0 )L 1 2L max z y (z) h.

Vidíme teda, že ak x k x 0 C (čo pre nejaké pevne zvolené k platí) a ak y je ohraničená, tak globálna diskretizačná chyba pre Eulerovu metódu napred je rádu O(h). Vylepšená polygónová metóda Najskôr spočítame hodnotu yk+1 1 krokom h Ďalej spočítame hodnotu y 2 k+1 napred s krokom h 2 y 1 k+1 = y k + hf(x k, y k ). Eulerovou metódou napred s dvomi krokmi Eulerovej metódy y 2 k+ 1 2 = y k + h 2 f(x k, y k ) y 2 k+1 = y2 k+ 1 2 + h 2 f(x k + h 2, y2 k+ 1 2).

Novú hodnotu y k+1 dostaneme použitím Richardsonovej extrapolácie na hodnoty y 1 k+1 a y2 k+1 tj. y k+1 = 2y 2 k+1 y1 k+1 = y k + hf(x k + h 2, y k + h 2 f(x k, y k )). Algoritmom sa to zvykne zapisovat nasledujúcim spôsobom: k 1 = f(x k, y k ) k 2 = f(x k + h 2, y k + h 2 k 1) y k+1 = y k + hk 2.

Eulerova spätná metóda Prepíšeme rovnicu (1) v bode x = x k+1, pričom deriváciu nahradíme spätnou diferenciou y (x k+1 ) y k+1 y k. h Dostaneme spätnú Eulerovu metódu y k+1 = y k + hf(x k+1, y k+1 ). (5) Spätná Eulerova metóda je implicitná metóda, to znamená, že neznámu hodnotu y k+1 treba na každom kroku určit iteračne (napr. Newtonovou metódou).

Analýza chyby Analýzu globálnej chyby prevedieme analogickým spôsobom ako pri Eulerovej metóde napred, len použijeme nasledujúci Taylorov rozvoj Ak označíme A = 1 dostaneme odhad y(x k ) = y(x k + h) hy (x k + h) + h2 2 y (z k ). ε k+1 B 1 hl e kα 1 A 1 = 1+α pre α = hl = (x k x 0 )L e 1 hl 1 2L 1 hl a B = 1 hl 1 h2 2 max z y (z) max z y (z) h. Vidíme, že ak y je ohraničená, tak globálna diskretizačná chyba pre spätnú Eulerovu metódu je rádu O(h).

Crank-Nicolsonova metóda Vznikne lineárnou kombináciou spätnej Eulerovej metódy a Eulerovej metódy napred y k+1 = y k + h 2 (f(x k, y k ) + f(x k+1, y k+1 )), k = 0, 1, 2,.... Crank-Nicolsonova metóda je opät implicitnou metódou, jej výhodou však je, že má vyšší rád globálnej diskretizačnej chyby. Analýza chyby Z Taylorovho rozvoja máme y(x k+1 ) = y(x k ) + hy (x k ) + h2 2 y (z k ) y(x k ) = y(x k+1 ) hy (x k+1 ) + h2 2 y (z k+1 ).

Odčítaním dostaneme y(x k+1 ) y(x k ) = y(x k ) y(x k+1 ) + h(f(x k, y(x k )) + f(x k+1, y(x k+1 )) Z toho + h2 2 (y (z k ) y (z k+1 )) = = y(x k ) y(x k+1 ) + h(f(x k, y(x k )) + f(x k+1, y(x k+1 )) + h2 2 y (ξ k )(z k z k+1 ), ξ k (z k, z k+1 ). y(x k+1 ) = y(x k )+ h 2 (f(x k, y(x k ))+f(x k+1, y(x k+1 )))+ h2 4 y (ξ k )(z k z k+1 ) Ak toto odčítame od Crank-Nicolsonovej metódy dostaneme y k+1 y(x k+1 ) = y k y(x k ) + h 2 (f(x k, y k ) f(x k, y(x k ))) + + h 2 (f(x k+1, y k+1 ) f(x k+1, y(x k+1 ))) h2 4 y (ξ k )(z k z k+1 ).

Ked že f je lipschitzovsky spojitá ε k+1 ε k + Lh 2 ε k + Lh 2 ε k+1 + h3 4 max y (z). z Označme A = 1 + α, α = Lh 1 Lh, 2 Potom B = h 3 4(1 Lh 2 ) max z ε k+1 A ε k + B y (z). a z tvrdenia pri analýze chyby pre Eulerovu metódu napred do-

staneme ε k B e kα 1 A 1 = e (x k x 0 )L 1 Lh 2 1 4L max z y (z) h 2. Ak y je ohraničená, tak presnost Crank-Nicolsonovej metódy je O(h 2 ).

Runge-Kutta metódy Runge-Kutta metódy sú metódy, ktorých chyba pre h 0 ide rýchlejšie k 0 ako vyššie uvedené chyby Eulerových metód. RK metódy sú navrhnuté v tvare y k+1 = y k + w 1 K 1 + + w m K m, kde w i sú konštanty a K i = hf(x k +α i h, y k + i 1 j=1 β ijk j ), α 1 = 0. a porov- Odvodenie vychádza z Taylorovho rozvoja funkcie y (t) k naním koeficientov pri rovnakých mocninách h.

Odvod me si jednu z metód pre m = 2. Pre jednoduchost miesto y(x k ) budeme písat y k a f k = f(x k, y(x k )). Taylorov rozvoj y k+1 v bode x k má tvar: y k+1 = y k + hy k + h2 2 y k + = y k + i=0 Z rovnice y (x) = f(x, y(x)) = y (t) k Zoberme t = 2: y (2) k h i+1 (i + 1)! y(i+1) k. = df k dx = f k x + f k y k y x = f k x + f k y f k y k+1 = y k + hf k + h2 2 ( fk x + f ) k y f k + O(h 3 ). = d(t 1) f k dx.

Pre m = 2 teda máme w 1 K 1 + w 2 K 2 = hf k + h2 2 ( fk x + f ) k y f k + O(h 3 ) K 1 = hf k K 2 = hf(x k + αh, y k + βk 1 ) = hf(x k + αh, y k + βhf k ) = ( = h f(x k, y k + βhf k ) + αh f(x k, y k + βhf k ) + O(h 2 ) x = = h ( f k + βhf k f k y + O(h2 ) + αh f k x + O(h2 ) + O(h 2 ) ) w 1 hf k +w 2 (hf k +βh 2 f f k k y +αh2 f k x +O(h3 ) =hf k + h2 2 = w 1 + w 2 = 1, w 2 β = 1 2, w 2α = 1 2. ) ) = ( ) fk x + f k y f k +O(h 3 )

V poslednom vzt ahu ak zvoĺıme w 1 = w 2 = 1 2 = α = β = 1 dostaneme y k+1 = y k + h 2 (f k + f(x k + h, y k + hf k )) (nižšie uvedenú Heunovu metódu). Poznámka: Heunova metóda graficky. Uvedieme si len niektoré z tejto triedy metód: metóda 2. rádu je známa ako Heunova metóda (modifikovaná Eulerova metóda) y k+1 = y k + h 2 (f(x k, y k ) + f(x k+1, y k + hf(x k, y k ))

metóda 4. rádu - Runge-Kutta metóda F 1 = f(x k, y k ) F 2 = f(x k + h 2, y k + h 2 F 1) F 3 = f(x k + h 2, y k + h 2 F 2) F 4 = f(x k+1, y k + hf 3 ) y k+1 = y k + h 6 (F 1 + 2F 2 + 2F 3 + F 4 )

metóda 6. rádu - Hut ova metóda F 1 = f(x k, y k ); F 2 = f(x k + h 9, y k + h 9 F 1); F 3 = f(x k + h 6, y k + h 24 (F 1 + 3F 2 )); F 4 = f(x k + h 3, y k + h 6 (F 1 3F 2 + 4F 3 )); F 5 = f(x k + h 2, y k + h 8 ( 5F 1 + 27F 2 24F 3 + 6F 4 )); F 6 = f(x k + 2 h 3, y k + h 9 (221F 1 981F 2 + 867F 3 102F 4 + F 5 )); F 7 = f(x k +56 h,y k+ 48 h 1+678F 2 472F 3 66F 4 +80F 5 +3F 6 )); F 8 = f(x k+1,y k + 82 h 1 2079F 2 +1002F 3 +834F 4 454F 5 93F 6 +72F 7 )) y k+1 = y k + h 840 (41F 1+216F 3 +27F 4 +272F 5 +27F 6 +216F 7 +41F 8 );

Poznámka: Počet vyčíslení funkcie f. Analýza lokálnej chyby Heunovej metódy Odvodíme si lokálnu diskretizačnú chybu pre Heunovu metódu. Predpokladáme, že y k = y(x k ). Pre lokálnu diskretizačnú chybu platí L(x k, h) = 1 h (y(x k+1) y(x k )) 1 h (y k+1 y k ) = 1 h (y(x k+1) y k+1 ). Budeme teda počítat a odhadovat rozdiel na pravej strane. Pri úprave použijeme Taylorov rozvoj y(x k + h) = y(x k ) + hy (x k ) + h2 2! y (x k ) + h3 3! y (z k ).

Takže počítajme y k+1 y(x k+1 ) = y k + h 2 (f(x k, y k ) + f(x k+1, y k + hf(x k, y k ))) y(x k ) hy (x k ) h2 2 y (x k ) h3 3! y (z k ) = = h 2 f(x k, y k ) hf(x k, y k ) + h 2 f(x k, y k + hf(x k, y k )) + + h 2 hf x(x k, y k + hf(x k, y k )) + h 2 O(h2 ) h2 2 (f x(x k, y k ) + f(x k, y k )f y (x k, y k )) h3 3! y (z k ) = = O(h 3 ). Lokálna diskretizačná chyba je teda O(h 2 ).

Poznámka: Porovnanie Runge-Kutta metód s metódami Eulerovho typu - 2 príklady. Poznámka: Aj Runge-Kutta metódy môžu mat problémy so stabilitou - príklad vyrovnávania teploty.

Poznámky k ODR: diskretizačné metódy dávajú diskrétne riešenie, ktoré sa dá previest na spojité pomocou interpolácie alebo splajnom (minulý semester) aj ked lim h 0 L(x, h) = 0, je nutné zvolit vhodný krok h, pretože pre malé h sa môže riešenie znehodnotit zaokrúhl ovacími chybami ako vieme, že nám riešenie konverguje k presnému, ked presné riešenie nepoznáme, ako zvolit vhodné h?

riešenie systémov ODR - analogicky, len miesto y : IR IR, f : IR 2 IR budú y : IR IR n, f : IR n+1 IR n (príklad korist -dravec) rovnice 2. a vyššieho rádu s počiatočnou podmienkou sa prevádzajú na systém ODR

Viackrokové metódy máme problém y (x) = f(x, y(x)) x > x 0 y(x 0 ) = y 0 nech h > 0, x k = x 0 + kh, k = 1, 2, 3,... nech y k je označenie pre aproximáciu riešenia y(x k ) pre N +1-krokovú metódu riešenie y k+1 závisí od riešení v bodoch x k, x k 1,..., x k N (resp. x k+1, x k, x k 1,..., x k N )

platí x k+1 x k+1 x k+1 y(x k+1 ) y(x k ) = y (x)dx = f(x, y(x))dx p(x)dx, x k x k x k (6) kde p(x) je polynóm, ktorý interpoluje funkciu f tj. ak (y k+1 ), y k, y k 1,..., y k N sú aproximácie riešenia v bodoch (x k+1 ), x k, x k 1,..., x k N a označíme f i := f(x i, y i ), i = (k+1), k, k 1,...k N tak p(x i ) = f i, Potom z (6) y k+1 = y k + x k+1 x k i = (k+1), k, k 1,..., k N. p(x)dx. Poznámka: Ked že p je polynóm, tak presne. x k+1 x k p(x)dx vieme spočítat

Poznámka: Podl a toho, či interpolačný polynóm je zostrojený v bodoch x k, x k 1,..., x k N alebo x k+1, x k, x k 1,..., x k N rozlišujeme N + 1-krokovú explicitnú alebo implicitnú metódu (tak ako v prípade jednokrokových metód). Explicitné viackrokové metódy (Adams-Bashforth metódy) interpolačný polynóm je zostrojený v bodoch x k, x k 1,..., x k N Pre N = 0 dostaneme Eulerovu metódu. Pre N = 1 interpolačný polynóm zostrojujeme z bodov (x k 1, f k 1 ), (x k, f f p(x) = p 1 (x) = f k + x x k (f k 1 f k ) = f k x x k (f k 1 f k ) x k 1 x k h

teda y k+1 = y k + x k+1 x k (f k x x k (f k 1 f k ))dx = y k +hf k f k 1 f k h h Dostali sme Adams-Bashforth metódu 2. rádu (2-krokovú) x k+1 x k (x x k ) y k+1 = y k + h 2 (3f k f k 1 ), (7) ktorá má lokálnu diskretizačnú chybu O(h 2 ). Ak označíme f k := f k 1 f k, potom (7) môžeme prepísat y k+1 = y k + hf }{{ k h } 2 f k Euler

Pre N = 2-3. rádu (3-kroková metóda) y k+1 = y k + hf k h 2 f k + 5 6 h 2 f k = y k + h 12 (23f k 16f k 1 + 5f k 2 ). Pre N = 3-4. rádu (4-kroková metóda) y k+1 = y k + h 24 (55f k 59f k 1 + 37f k 2 9f k 3 ). Poznámka: Kol ko krokov taká presnost. Poznámka: Štartovanie metód.

Implicitné viackrokové metódy (Adams-Moulton metódy) interpolačný polynóm je zostrojený v bodoch x k+1, x k, x k 1,..., x k N Pre N = 0 dostaneme Crank-Nicholsonovu metódu tj. presnosti O(h 2 ) Pre N = 2 dostaneme metódu 4.rádu (presnost O(h 4 )) y k+1 = y k + h 24 (9f k+1 + 19f k 5f k 1 + f k 2 ). Poznámka: Adams-Moulton metódy sú implicitné, riešia sa iteračne.

Metódy typu prediktor-korektor - sú kombináciou explicitnej a implicitnej metódy. Označme P (predictor) - nejaká explicitná metóda na predikciu hodnoty, napr. Adams-Bashforthova metóda 4.rádu y (P ) k+1 y (P ) k+1 = y k + h 24 (55f k 59f k 1 + 37f k 2 9f k 3 ) E (evaluation) - vyčíslenie pravej strany f (P ) k+1 = f(x k+1, y (P ) k+1 ) C (corrector) - nejaká implicitná metóda na korekciu hodnoty y k+1, napr. Adams-Moultonova metóda 4.rádu y k+1 = y k + h (P ) (9f 24 k+1 + 19f k 5f k 1 + f k 2 )

Poznámka: Používajú sa P(EC) M alebo P(EC) M E (M 2), najčastejšie PECE. Poznámka: Rád prediktora by mal byt taký istý (alebo o 1 menší) ako rád korektora. Analýza chyby Ukážeme pre Adams-Bashforthovu metódu 2. rádu, ostatné metódy analogicky. A-B metóda 2. rádu y k+1 = y k + h 2 (3f k f k 1 ). Pre metódu y k+1 = y k + hφ(x k, x k 1, y k, y k 1 )

je lokálna diskretizačná chyba tvaru L(x, h) = 1 (y(x + h) y(x)) Φ(x, x h, y(x), y(x h)). h Teda pre A-B metódu 2. rádu hl(x, h) = y(x + h) y(x) h 2 Urobíme Taylorov rozvoj a spočítame (3 f(x, y(x)) }{{} y (x) y(x + h) = y(x) + hy (x) + h2 2 y (x) + O(h 3 ) y (x h) = y (x) hy (x) + O(h 2 ) f(x h, y(x h)) ) } {{ } y (x h) 3y (x) y (x h) = 2y (x) + hy (x) + O(h 2 ).

Potom hl(x, h) = y(x + h) y(x) h 2 (3y (x) y (x h)) = = hy (x) + h2 2 y (x) + O(h 3 ) hy (x) h2 2 y (x) + O(h 3 ) = O(h 3 ) = L(x, h) = O(h 2 ). Poznámka: Globálna diskretizačná chyba sa vo všeobecnosti odvodzuje len vel mi t ažko, ale za istých predpokladov na funkciu f a riešenie y sa dá ukázat, že ak lokálna diskretizačná chyba L(x, h) = O(h p ) tak aj globálna diskretizačná chyba E(h) = O(h p ).

Otázky stability, nestability a stiff rovnice Pri riešení diferenciálnych rovníc je otázka stability vel mi závažná. Ukážeme na príkladoch, čo má vplyv na stabilitu riešenia. Nestabilné úlohy Pr. 1: Uvažujme počiatočnú úlohu y 10y 11y = 0 y(0) = 1 y (0) = 1. Jej presné riešenie je y(x) = exp( x).

Predpokladajme malú zmenu riešenia prvej počiatočnej podmienky y(0) = 1 + ε. Potom presné riešenie y(x) = (1 + 11 ε ε) exp( x) + 12 12 exp(11x). Problém je nestabilný, lebo malá zmena vstupu spôsobila vel kú zmenu výstupu (vid obrázky). presné riešenie ε = 0.01 presné riešenie - červené numerické riešenie - čierne ε = 0 ε = 0.01

Pr. 2: Uvažujme počiatočnú úlohu y = xy(y 2) y(0) = y 0, ktorá má presné riešenie y(x) = Nech y 0 = 2 + ε, potom 2y 0 y 0 +(2 y 0 ) exp(x 2 ). y 0 < 2 y(x) 0 pre x y 0 = 2 y(x) 2 x y 0 > 2 nestabilita riešenia.

presné riešenie ε = 0.1 ε = 0.001 ε = 0 ε = 0.001 presné riešenie - červené numerické riešenie - čierne bodky ε = 0 ε = 0.1 presné riešenie - červené numerické riešenie - čierne bodky Záver: Niektoré úlohy sú nestabilné. presné riešenie - červené numerické riešenie - čierne bodky

Nestabilné metódy Na ilustráciu zoberme obdĺžnikovú (dvojkrokovú) metódu y n+1 = y n 1 + 2hf n. Poznámka: Obdĺžniková metóda graficky. Pr.: Uvažujme počiatočnú úlohu y = 2y + 1 y(0) = 1. Jej presné riešenie je y(x) = 1 2 exp( 2x) + 1 2.

Zmeňme počiatočnú podmienku na y(0) = 1 + ε. Potom presné riešenie sa máličko zmení na y(x) = ( 1 2 + ε) exp( 2x) + 1 2. Táto úloha nie je nestabilná, lebo pre x je y(x) 1 2. Zoberme y 0 = 1, y 1 = y(h) = 1 2 exp( 2h) + 1 2. Obdĺžnikovou metódou dostaneme, že y n pre n. Prečo?

Pozrime sa na to ako na diferenčnú rovnicu y n+1 = y n 1 + 2hf n = 2h( 2y n + 1) + y n 1 = 4hy n + y n 1 + 2h y 0 = 1, y 1 = 1 2 exp( 2h) + 1 2. Homogénna rovnica y n+1 + 4hy n y n 1 = 0. Riešenie navrhneme v tvare y n = λ n. Potom rovnica λ n 1 (λ 2 + 4hλ 1) = 0 má korene λ 1 = 2h + 1 + 4h 2, λ 2 = 2h 1 + 4h 2. Všeobecné riešenie hom. rovnice je c 1 λ n 1 + c 2λ n 2.

Jedno z partikulárnych riešení nehomogénnej rovnice y n+1 = a 2 y n + a 1 y n 1 + a 0 (a 0 = 2h, a 1 = 1, a 2 = 4h) je y n = a 0 1 a 1 a 2 = y n = Potom riešenie nehomogénnej rovnice je y n = c 1 ( 2h + 1 + 4h 2 ) n + c 2 ( 2h Čo sa deje pre n? 2h 1 1 + 4h = 1 2. 1 + 4h 2 ) n + 1 2. (8) Platí ( 2h + 1 + 4h 2 ) n 0 pretože 0 < 2h + 1 + 4h 2 < 1. Člen ( 2h 1 + 4h 2 ) n ± (osciluje).

presné riešenie - červené numerické riešenie - čierne (obdĺžniková metóda) presné riešenie - červené numerické riešenie - modré (Eulerova metóda) Poznámka: Zovšeobecnenie. Majme všeobecnú metódu tvaru y n+1 = m i=1 α i y n+1 i + hφ(x n+1,..., x n+1 m, y n+1,..., y n+1 m ) (9)

(pre obdĺžnikovú metódu y n+1 = y n 1 + 2hf n je Φ(x n+1, x n, x n 1, y n+1, y n, y n 1 ) = 2f n ) Definícia 10 Hovoríme, že metóda (9) je stabilná, ak všetky korene λ i polynómu ρ(λ) λ m α 1 λ m 1... α m sú také, že spĺňajú λ i 1 a všetky korene, pre ktoré λ i = 1 sú jednoduché. Metóda je silne stabilná ak naviac pre m 1 koreňov platí λ i < 1. Niektorí autori používajú pojem slabo stabilná a stabilná metóda pre takto definované stabilnú a silne stabilnú metódu.

Pre prípad obdĺžnikovej metódy je ρ(λ) = λ 2 1 a teda korene ρ(λ) sú ±1. V riešení (8) vidíme 2 zložky - prvá z nich dobre aproximuje presné riešenie, druhá je naviac, je to parazitná zložka, ktorá spôsobí rast oscilácie približného riešenia. Existujú problémy, ktoré aj pre silne stabilné metódy dávajú nestabilné riešenie pre vel ké h. Na druhej strane, ked h bude maličké, tak sa zvýši výpočtová náročnost a výsledok môže byt zat ažený zaokrúhl ovacími chybami. Takéto úlohy sa volajú stiff úlohy alebo úlohy s vel kým tlmením.

Stiff úlohy - úlohy s vel kým tlmením Pr.: Uvažujme úlohu Presné riešenie je y = 100y + 100, y(0) = y 0. y(x) = (y 0 1) exp( 100x) + 1. Riešenie je stabilné, lebo ak počiatočnú podmienku zmeníme o ε na y(0) = y 0 + ε, tak presné riešenie sa zmení o ε exp( 100x). Riešme Eulerovou metódou napred. Dostaneme presné riešenie

diferenčnej rovnice y n = y n 1 + h( 100y n 1 + 100) = (1 100h)y n 1 + 100h = = (1 100h)(y n 2 + h( 100y n 2 + 100)) + 100h = = (1 100h) 2 y n 2 + (1 100h)100h + 100h = = = (1 100h) n 1 (1 100h)n y 0 + 100h 1 1 100h = = (1 100h) n (y 0 1) + 1. Presné riešenie diferenciálnej rovnice obsahuje člen exp( 100x), ktorý s rastúcim x ide vel mi rýchlo k 0. Napr. ak zoberieme y(0) = y 0 = 2, tak y(0.1) 1 + 5 10 5. Takže na začiatku potrebujeme vel mi malý krok h, aby sme túto zmenu zachytili: Ak h je také, že 1 100h > 1 tak y n. Aby 1 100h < 1 je treba zobrat h < 0.02. Aby však táto metóda konvergovala k presnému riešeniu potrebujeme, aby 0 < 1 100h = h < 0.01 (vid obrázky).

h = 0.02 h = 0.015 h = 0.0099 h = 0.006 6 Vel ká zmena sa však deje len na začiatku, potom už riešenie

nevykazuje vel ké zmeny, preto je zbytočné mat malý krok h aj po niekol kých časových krokoch. Preto sa takéto úlohy nazývajú úlohy s vel kým tlmením. Použime teraz na riešenie spätnú Eulerovu metódu, ktorá je implicitná tj. Dostaneme diferenčnú rovnicu ktorej presné riešenie je a pre y 0 = 2 máme y n+1 = y n + h( 100y n+1 + 100). y n+1 = (1 + 100h) 1 (y n + 100h), y n = (y 0 1)(1 + 100h) n + 1 y n = 1 + 1 1 pre x = nh a h. (1 + 100h) n

h = 0.025 h = 0.006 6 V tomto príklade y n+1 sme nepočítali iteračne, pretože f je v y lineárna, vo všeobecnosti však y n+1 sa určuje iteračne. Funkcia (1 100h) n z explicitnej schémy vel mi zle aproximuje funkciu exp( 100x) pre h > 0.02. Naopak funkcia 1 (1+100h) n z implicitnej schémy vel mi dobre aproximuje funkciu exp( 100x) pre h. Záver: Na riešenie stiff úloh sa používajú implicitné metódy.