úloh pro ODR jednokrokové metody

Podobné dokumenty
Numerické řešení diferenciálních rovnic

Numerická matematika. Zadání 25. Řešení diferenciální rovnice Rungovou Kuttovou metodou

metody jsou proto často jedinou možností jak danou diferenciální rovnicivyřešit.

Numerické řešení obyčejných diferenciálních rovnic

metody jsou proto často jedinou možností jak danou diferenciální rovnicivyřešit.

Numerické řešení diferenciálních rovnic

Numerické metody a statistika


Kombinatorická minimalizace

Integrace. Numerické metody 7. května FJFI ČVUT v Praze

Obyčejné diferenciální rovnice (ODE)

Obyčejné diferenciální rovnice počáteční úloha. KMA / NGM F. Ježek

Řešení 1b Máme najít body, v nichž má funkce (, ) vázané extrémy, případně vázané lokální extrémy s podmínkou (, )=0, je-li: (, )= +,

Diferenciální počet 1 1. f(x) = ln arcsin 1 + x 1 x. 1 x 1 a x 1 0. f(x) = (cos x) cosh x + 3x. x 0 je derivace funkce f(x) v bodě x0.

4 Numerické derivování a integrace

Studijní text pro obor G+K Katedra matematiky Fakulta stavební ROVNICE. Doc. RNDr. Milada Kočandrlová, CSc.

Polynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)

Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze

Interpolace Lagrangeovy polynomy. 29. října 2012

dx se nazývá diferenciál funkce f ( x )

y = 1 x (y2 y), dy dx = 1 x (y2 y) dy y 2 = dx dy y 2 y y(y 4) = A y + B 5 = A(y 1) + By, tj. A = 1, B = 1. dy y 1

Q(y) dy = P(x) dx + C.

Nelineární obvody. V nelineárních obvodech však platí Kirchhoffovy zákony.

1.1 Existence a jednoznačnost řešení. Příklad 1.1: [M2-P1] diferenciální rovnice (DR) řádu n: speciálně nás budou zajímat rovnice typu

řešeny numericky 6 Obyčejné diferenciální rovnice řešeny numericky

Diferenciál a Taylorův polynom

ODR metody Runge-Kutta

Kapitola 10: Diferenciální rovnice 1/14

Čebyševovy aproximace

Newtonova metoda. 23. října 2012

7. Aplikace derivace

1 L Hospitalovo pravidlo

Derivace funkcí více proměnných

Moderní numerické metody

5.3. Implicitní funkce a její derivace

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

l, l 2, l 3, l 4, ω 21 = konst. Proved te kinematické řešení zadaného čtyřkloubového mechanismu, tj. analyticky

Řešení nelineárních rovnic

Příklad 1. Řešení 1a. Řešení 1b ŘEŠENÉ PŘÍKLADY Z M1B ČÁST 5

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

1 1 x 2. Jedná se o diferenciální rovnici se separovanými proměnnými, která má smysl pro x ±1 a

Diferenciální rovnice 1

Numerická matematika Písemky

PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII

I. 7. Diferenciál funkce a Taylorova věta

Seznámíte se s principem integrace metodou per partes a se základními typy integrálů, které lze touto metodou vypočítat.

Otázku, kterými body prochází větev implicitní funkce řeší následující věta.

Příklady pro předmět Aplikovaná matematika (AMA) část 1

Numerická matematika 1

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

APROXIMACE FUNKCÍ. Jedním ze základních úkolů numerických metod matematické analýzy je studium aproximací

Derivace funkce DERIVACE A SPOJITOST DERIVACE A KONSTRUKCE FUNKCÍ. Aritmetické operace

f(c) = 0. cn pro f(c n ) > 0 b n pro f(c n ) < 0

NUMERICKÉ METODY. Problematika num. řešení úloh, chyby, podmíněnost, stabilita algoritmů. Aproximace funkcí.

Interpolace, ortogonální polynomy, Gaussova kvadratura

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.

Příklady k analytické geometrii kružnice a vzájemná poloha kružnice a přímky

Matematická analýza III.

pouze u některých typů rovnic a v tomto textu se jím nebudeme až na

Odvození středové rovnice kružnice se středem S [m; n] a o poloměru r. Bod X ležící na kružnici má souřadnice [x; y].

Budeme hledat řešení y(x) okrajové úlohy pro diferenciální rovnici druhého řádu v samoadjungovaném tvaru na intervalu a, b : 2 ) y i p i+ 1

- funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte. V obou případech vyzkoušejte Taylorovy řady

Matematická analýza III.

1. DIFERENCIÁLNÍ POČET FUNKCE DVOU PROMĚNNÝCH

Semestrální písemka BMA3 - termín varianta A13 vzorové řešení

Pseudospektrální metody

Derivace funkce Otázky

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

Parametrická rovnice přímky v rovině

Libovolnou z probraných metod najděte s přesností na 3 desetinná místa kladný kořen rovnice. sin x + x 2 2 = 0.

Obsah Obyčejné diferenciální rovnice

Řešení diferenciálních rovnic

Uvod k pocatecnimu problemu pro obycejne diferencialni

+ 2y. a y = 1 x 2. du x = nxn 1 f(u) 2x n 3 yf (u)

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

1 Mnohočleny a algebraické rovnice

MATLAB a numerické metody

4.1 Řešení základních typů diferenciálních rovnic 1.řádu

Řešení "stiff soustav obyčejných diferenciálních rovnic

f (k) (x 0 ) (x x 0 ) k, x (x 0 r, x 0 + r). k! f(x) = k=1 Řada se nazývá Taylorovou řadou funkce f v bodě x 0. Přehled některých Taylorových řad.

1 Polynomiální interpolace

teorie elektronických obvodů Jiří Petržela řešení nelineárních obvodů

Zavedeme-li souřadnicový systém {0, x, y, z}, pak můžeme křivku definovat pomocí vektorové funkce.

VI. Derivace složené funkce.

Tento dokument obsahuje zadání pro semestrální programy z PAA. Vypracování. vypracovanou úlohu podle níže uvedených zadání. To mimo jiné znamená, že

Soustavy lineárních diferenciálních rovnic I. řádu s konstantními koeficienty

rovnic), Definice y + p(x)y = q(x), Je-li q(x) = 0 na M, nazývá se y + p(x)y =

Hledáme lokální extrémy funkce vzhledem k množině, která je popsána jednou či několika rovnicemi, vazebními podmínkami. Pokud jsou podmínky

Parabola a přímka

7. Derivace složené funkce. Budeme uvažovat složenou funkci F = f(g), kde některá z jejich součástí

Počítačová dynamika tekutin (CFD) Řešení rovnic. - metoda konečných objemů -

Limita a spojitost funkce a zobrazení jedné reálné proměnné

Obsah. Metodický list Metodický list Metodický list Metodický list

MATEMATIKA III. Olga Majlingová. Učební text pro prezenční studium. Předběžná verze

Interpolace pomocí splajnu

Příklad 1. Řešení 1a Máme určit obsah rovinné plochy ohraničené křivkami: ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 14. a) =0, = 1, = b) =4, =0

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

Řešení 1D vedení tepla metodou sítí a metodou

Matematika I (KX001) Užití derivace v geometrii, ve fyzice 3. října f (x 0 ) (x x 0) Je-li f (x 0 ) = 0, tečna: x = 3, normála: y = 0

Transkript:

Numerické metody pro řešení počátečních úloh pro ODR jednokrokové metody Formulace: Hledáme řešení y = y() rovnice () s počáteční podmínkou () y () = f(, y()) () y( ) = y. () Smysl: Analyticky lze spočítat jen velmi malou skupinu počátečních úloh pro ODR. Proto je tak důležité numerické řešení. Princip: Základem metod je diskretizace proměnných. Přibližné řešení se nekonstruuje jako spojitá funkce, ale nagenerujeme body,,,... a určujeme čísla y, y, y,..., která aproimují y( ), y( ), y( ),.... Poznámka: Body sítě,,,... nemusí být ekvidistantní: i+ = i + h i. Platí-li: h i = h i mluvíme o metodě s konstantním krokem (ekvidistantní síť) Neplatí-li: h i = h i mluvíme o metodě s proměnným krokem Poznámka: Aproimace y n hodnoty přesného řešení y( n ) v bodě n se počítá z hodnot přibližného řešení v předchozích uzlech. Počítáme-li y n+ pouze pomocí hodnoty y n mluvíme o jednokrokové metodě. Počítáme-li y n+ pomocí více předchozích hodnot y n, y n,... mluvíme o vícekrokové metodě.

Jednokrokové metody Nejjednodušší metodou je Eulerova metoda. Princip: y... je dáno (počáteční podmínka) y... počítáme etrapolací z hodnoty y, přičemž se na intervalu, řešení aproimuje přímkou, která prochází bodem [, y ] a má směrnici y = f(, y ). Ta má rovnici y = y + ( )f(, y ). Tj. pro dostáváme: y = y + ( ) }{{} h f(, y ). Obecně dostaneme rekurentní vztah: Geometricky: y n+ = y n + h n f( n, y n ), n =,,,... 6 y přesné řešení... y() y( ) y( ) y y( ) y y( ) y y y 6 7 8

Poznámky:. Eulerovu metodu můžeme chápat také tak, že hodnotu y( n+ ) = y( n + h n ) aproimujeme pomocí Taylorova polynomu stupně pro funkci y v bodě n : y( n+ ) y( n ) + h n y ( n ) = y( n ) + h n f( n, y( n )).. Také ji lze chápat tak, že diferenciální rovnici y = f(, y) nahradíme diferenční rovnicí y n+ y n h n = f( n, y n ) n =,,,...

Příklad: Řešte úlohu y = y, y() = Řešení: Použijeme rekurentní vztah: na intervalu ;,6 s konstantními kroky h =, a h =,. (Přesné řešení: y() = e + ). y n+ = y n + h f( n, y n ). h =, h =, n přesné {}}{ y( n ) y n e n y n e n,,,,,,,9,9,,,87,8,7,8,7,,78,78,,,7,68,6,7,9,,7,68,,6,698,6,7,66,. y... přesné řešení... řešení pro h =,... řešení pro h =,........6.7.8 Poznámka: ) Vidíme, že je chyba úměrná h, ) Chyba s rostoucím vzrůstá.

Obecná jednokroková metoda Eulerova metoda je sice velmi jednoduchá, ale k dosažení určité přesnosti musíme používat velmi malé kroky h i. Chceme-li jednokrokovou metodu vyššího řádu, musíme se zříci linearity, tj. y n+ = y n + \h n Φ( n, y n, h n, f) n =,,,... Metody Taylorova typu: Hodnotu y( n+ ) budeme aproimovat pomocí Taylorova rozvoje vyššího řádu (. řádu = Eulerova metoda), tj. y( n+ ) = y( n + h n ) = y( n ) + h n y ( n ) + h n! y ( n ) +... + hp n p! y(p) ( n ) () Derivace y v bodě n lze určit postupným derivováním funkce f. y = f(, y()) y = f + f y y }{{} =f(,y()) ( f = }{{} f + f y }{{} f y. dy ) }{{} d y Obecně lze odvodit rekurenci: y = f(, y()) y (r+) = f (r) (, y()) = f (r ) (, y()) + f y (r ) (, y()) f(, y()) r =,,... () Zbývá jen dosadit () za derivace v ().

Příklad: Odvoďte metodu Taylorova typu.řádu pro řešení úlohy: y = y, y() = na intervalu ;, 6 s konstantním krokem h =,. (Přesné řešení: y() = e + ). Řešení: f(, y) = y f (, y) = f + f y f = + ( ) f(, y) = + y. Dostáváme rekurentní vztah: y n+ = y n + h n ( n y n ) + h n( n + y n ) n přesné {}}{ y( n ) y n h( n y n ) h ( n + y n ) e n,, -,,,,,87,8 -,8, -,,,7,7 -,69,7 -,,6,698,7 -, Poznámka: Vidíme, že metoda Taylorova typu. řádu pro h =, dává přesnější výsledky než Eulerova metoda s h =,.

Metody Runge-Kuttova typu Univerzálnější metody než metody Taylorova typu. Vychází také z Taylorova polynomu, ale nepoužívá se ho přímo, aby nebylo nutné eplicitně vyjadřovat derivace funkce f = f(, y()) a počítat jejich hodnoty. Hledaná aproimace je kombinací několika hodnot funkce f vypočítaných v několika strategicky volených bodech (, y) na intervalu n, n+. Poznámka: Těchto metod je velké množství! Ukážeme si odvození dvou metod tohoto typu s geometrickou interpretací. Použijeme následující úvahy: 6 y M P M + 6 7 8 Věta: Nechť oblouk M M je částí paraboly. Potom platí:. Tečna v bodě P je rovnoběžná s tětivou M M.. Směrnice tětivy M M je aritmetickým průměrem směrnic tečen v M a M.

Důkaz: Rovnice paraboly (polynomu.stupně): y b = c( a) 6 y y b = c( a) y = c( a) + b y = c( a) b a 6 8. Směrnice tečny v bodě P : Směrnice tětivy M M je: y ( + ) = c( + a) = c( + a) y( ) y( ) = c( a) + b c( a) b = = c ac + a c + b c + ac a c b = ( = c ) a( ) = c( + a).. Směrnice tečny v bodě M je: y ( ) = c( a) Směrnice tečny v bodě M je: y ( ) = c( a) Jejich aritmetický průměr: y ( ) + y ( ) = c( a) + c( a) = = c( a + a) = c( + a).

Nyní použijeme vlastnost ) Známe souřadnice bodu M. Jestliže bychom znali y-souřadnici bodu P, pak stačí udělat tečnu a bodem M vést rovnoběžku a dostaneme y-souřadnici bodu M. My ale y-souřadnici bodu P neznáme (obecně funkce y = y() nemusí být parabola, to je jen naše aproimace), takže ji vyjádříme přibližně. Bod P nahradíme bodem P, který má stejnou -ovou souřadnici a leží na tečně k M. 6 y P P M P má souřadnice: + h, y + h f(, y ) }{{} y ( ) M + 6 7 8 Tečna v bodě P má směrnici: y ( + h ), tj. y ( + h )= f( + h, y + h k {}}{ f(, y )). Stejnou směrnici by však měla mít i tětiva M M souřadnice bodu M jsou: = + h y = y + h Tyto vztahy lze přepsat do tvaru (obecně) k {}}{ y ( + h ) k = f( n, y n ) k = f( n + h n, y n + h n k ) Této metodě se říká modifikovaná Eulerova metoda. y n+ = y n + h n k

Nyní použijeme vlastnost ) Známe souřadnice bodu M. Protože neznáme y-souřadnici bodu M, nahradíme ho bodem M, který má stejnou -souřadnici a leží na tečně procházející bodem M. 9 8 7 6 y M M M má souřadnice: ozn. = k {}}{ + h }{{, y } + h f(, y ) = } {{ } =y ( ) M 6 7 8 Směrnice tečny v M je: ozn. = k {}}{ f( + h, y + h f(, y )) Bod M dostaneme z podmínky, že směrnice tětivy M M je aritmetickým průměrem směrnic tečen v M a M, tj. M má souřadnice: = + h y = y + h (k + k ) Obecně: k = f( n, y n ) k = f( n + h n, y n + h n k ) y n+ = y n + h n (k + k ) Této metodě se říká Heunova metoda Poznámka: Obě tyto metody jsou.řádu (aproimovali jsme parabolou). Poznámka: Nejvíce se používá tzv. klasická Runge-Kuttova metoda, která je. řádu.

Numerické metody pro řešení počátečních úloh pro ODR vícekrokové metody Myšlenka: V jednokrokových metodách se y n+ počítá pouze s využitím y n (a hodnot n, h n ). Je rozumné počítat y n+ s využitím více předchozích hodnot y n, y n, y n,..., y n k+, dosáhneme tím větší přesnosti. Pro jednoduchost se omezíme na metody s konstantním krokem h (h n = h, Poznámka: Je třeba si uvědomit, že si lze vymyslet nepřeberné množství metod. Jedna z možností je použít metody numerického derivování (špatně podmíněné). Další z možností je použít metody numerické integrace Rovnici y = f(, y) zintegrujeme od n do n+ : y( n+ ) y( n ) = n+ n n). f(, y()) d () }{{} =F () Je zřejmé, že funkci F () = f(, y()) neznáme. Známe-li ale hodnoty y v bodech,,..., n, můžeme vypočítat numerické hodnoty: F = F ( ) = f(, y( )) F = F ( ) = f(, y( )). F n = F ( n ) = f( n, y( n )) Pomocí těchto hodnot lze interpolovat funkci F () funkcí P () a integrál v () nahradit n+ n P () d. Interpolace, etrapolace funkce F () ( postupy): ) F () můžeme etrapolovat na intervalu n, n+ pomocí hodnot F, F,..., F n eplicitně dostaneme y( n+ ) =.... ) F () můžeme interpolovat pomocí hodnot F, F,..., F n a F n+ = F ( n+ ) = f( n+, y( n+ )) ve výpočtu integrálu vystoupí y n+ = y( n+ ) a dostaneme tak implicitní rovnici s neznámou na obou stranách, tuto rovnici řešíme postupnými aproimacemi.

Adams-Bashfortovy metody Poznámka: Metody získáné postupem ). Postup: Vezmeme posledních k hodnot F n, F n,..., F n k+ a sestrojíme P k () interpolační polynom (k ) stupně. Tímto polynomem potom aproimujeme funkci f(, y()) na intervalu n, n+, tj. počítáme: y n+ = y n + n+ n P k () d. Příklad: Odvoďte vzorec Adams-Bashfortovy metody pro k =. 7 6 F F n F n P () P () můžeme vyjádřit například pomocí Langrangeova interpolačního polynomu: P () = F n l n () + F n l n (), n n n+ 6 7 8 n+ l n () = n n n }{{} h l n () = n n n }{{} h P () = F n [ ] [ ] h ( n) + F n h ( n ) = = h ( n) = h ( n ) = [ ] (Fn F n ) + n F n n F n h P () d = ( ) [ (Fn F n ) n+ n +(F n n F n n )( n+ n ) ] = n h }{{}}{{} h (( n +h) n) = [ ] (F n F n )( n h + h h ) + F n n F n n = = F n n F n n + h F n h F n + F n n F n n = = F n ( n n ) + h }{{} F n h ( F n = h F n ) F n. h y n+ = y n + h (F n F n )

Poznámka: Samozřejmě potřebujeme znát prvních k hodnot F i. (Ty můžeme vypočítat nějakou jednokrokovou metodou). Poznámka: Podobně bychom mohli odvodit vzorec Adams-Bashfortovy metody pro k =. F P () F n n F n n F n n n+ Opět bychom museli najít interpolační polynom P () (. stupně) a poté zintegrovat přes n, n+. Výsledkem je (dcv.): 6 7 8 y n+ = y n + h (F n 6F n + F n )

Adams-Moultonovy metody Poznámka: Metody získáné postupem ). Postup: Vezmeme posledních k hodnot a přidáme ještě neznámou F n+, tj. F n+, F n, F n,..., F n k+. Sestrojíme Q k () interpolační polynom k-tého stupně. Tímto polynomem aproimujeme funkci f(, y()) na intervalu n, n+, tj. počítáme: n+ y n+ = y n + Q k () d. Příklad: Odvoďte vzorec Adams-Moultonovy metody pro k =. n 7 6 F jako bychom F n ji znali Q () F n+ Q () můžeme vyjádřit opět např. pomocí Lagrangeova interpolačního polynomu: Q () = F n+ l n+ () + F n l n () l n+ () = n n+ n = h ( n) n n+ l n () = n+ n n+ = h ( n+) 6 7 8 n+ n Q k () d = h [ ] [ Q () = F n+ h ( n) + F n ] h ( n+) = [ = h [(F n+ F n ) + F n n+ F n+ n ] ( ) n+ n (F n+ F n ) + ( n+ n ) (F n n+ F n+ n ) ] = }{{}}{{} h ( n+ n) ( n+ + n) } {{ } h = ( n+ + n )(F n+ F n ) + F n n+ F n+ n = = n+f n+ n+f n + nf n+ nf n + n+ F n F n+ n = ( n+ = F n+ + ) ( n n + F n n+ n+ ) n = = h (F n+ + F n ) y n+ = y n + h (F n+ + F n ), kde F n+ = f( n+, y n+ ). Pozor! y n+ = y n + h ( f(n+, y n+ ) + F n ). Tuto rovnici řešíme iterační metodou např. metodou prosté iterace a tak dostaneme y n+.

Poznámka: Podobně můžeme odvodit vzorec např. pro k = F F n+ Q () F n n F n n n+ Opět bychom museli najít interpolační polynom Q () (. stupně). Poté integrovat přes n, n+ a dostat (dcv.) 6 7 8 y n+ = y n + h ( Fn+ }{{} +8F n F n ) y n+ = y n + h Opět vyřešíme iterační metodou y n+. F n+ =f( n+,y n+ ) ( f(n+, y n+ ) + 8F n F n )

Algoritmus prediktor-korektor Poznámka: Jde o obecné schéma výpočtu. Princip: Předpokládejme, že máme dostatečně přesně vypočítány hodnoty y, y,..., y k nějakou eplicitní metodou. Nyní chceme počítat y k. jako vstupní hod- ) nejprve nějakou eplicitní metodou určíme nultou iteraci y [] k notu pro další výpočet (PREDIKTOR). ) vypočteme hodnotu pravé strany F [s] k ) vypočteme lepší aproimaci y [s+] k =: f k (KOREKTOR). F [s] k = f( k, y [s] k ). pomocí nějaké implicitní metody s využitím Pomocí kroků ) a ) určíme N iterací y [] k, y[] k,..., y[n] k (N dáno). Na závěr přiřadíme y k = y [N] k. Stejný postup opakujeme pro y k+, y k+,.... Poznámka: Dané schéma lze použít na různé metody. Je žádoucí použít eplicitní a eplicitní metodu stejného řádu (pro zachování přesnosti). Volba konkrétních metod je na nás. Poznámka: Označíme-li operaci: a) P... prediktor b) E... vyčíslení (evaluation) c) C... korektor Můžeme toto schéma zapsat ve tvaru: P (EC) N případně P (EC) N E, vyčíslujeme-li ještě F k = f( k, y [N] k ) (což je lepší). Dostaneme pak různé varianty tohoto schématu: P EC, P ECE P (EC), P (EC) E P (EC), P (EC) E.,.

Příklad: Řešte algoritmem prediktor-korektor založeném na Adamsových metodách druhého řádu na intervalu ;, 6 počáteční úlohu: Přesné řešení: y = e ( ). Použijeme algoritmus typu P EC. Vzorec prediktoru má tvar: y = y + e, tj. f(, y()) = y + e y() = y [] n+ = y n + h (F n F n ) Korektor: Volte krok h =,. y n+ = y n + h [] (F n+ + F n ) n n přesné {}}{ y( n ) y n [] F n [] y n e n,,977,,9789,8,,89 P,96 E,87 C,896,, 6,788 P,7 E,776 C,796,8 Pro určení hodnoty y použijeme např. jednokrokovou modifikovanou Eulerovu metodu (. řádu): k = f(, y ) = y + e = = + = k = f( + h/, y + h/ k ) = = + e,. =,. y = y + h k =. = +,, =,9789 Určíme hodnoty F a F.