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

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

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

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

Kombinatorická minimalizace

úloh pro ODR jednokrokové metody

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

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

ODR metody Runge-Kutta

Čebyševovy aproximace

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

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

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.

Obyčejnými diferenciálními rovnicemi (ODR) budeme nazývat rovnice, ve kterých

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

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

Numerická matematika Písemky

4. OBYČEJNÉ DIFERENCIÁLNÍ ROVNICE

Moderní numerické metody

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

1 Modelování systémů 2. řádu

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

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

Řešení diferenciálních rovnic I.

Aproximace a interpolace

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Numerická matematika 1

Diferenciální rovnice

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

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

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

Kapitola 10: Diferenciální rovnice 1/14

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

Uvod k pocatecnimu problemu pro obycejne diferencialni

Diferenciální rovnice 1

Numerické metody a programování. Lekce 7

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

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

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

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

ANALÝZA STIFF SOUSTAV DIFERENCIÁLNÍCH ROVNIC

Numerické řešení nelineárních rovnic

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

Nyní využijeme slovník Laplaceovy transformace pro derivaci a přímé hodnoty a dostaneme běžnou algebraickou rovnici. ! 2 "

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

Drsná matematika III 6. přednáška Obyčejné diferenciální rovnice vyšších řádů, Eulerovo přibližné řešení a poznámky o odhadech chyb

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

Diferenciální rovnice 3

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

environmentálních distribučních modelů

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

11. přednáška 10. prosince Kapitola 3. Úvod do teorie diferenciálních rovnic. Obyčejná diferenciální rovnice řádu n (ODR řádu n) je vztah

Obsah Obyčejné diferenciální rovnice

Hledání extrémů funkcí

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

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

Funkce komplexní proměnné a integrální transformace

Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012

Fakt. Každou soustavu n lineárních ODR řádů n i lze eliminací převést ekvivalentně na jednu lineární ODR

5.3. Implicitní funkce a její derivace

4 Numerické derivování a integrace

Řešení nelineárních rovnic

Regresní analýza 1. Regresní analýza

INTEGRÁLY S PARAMETREM

VI. Derivace složené funkce.

Matematická analýza III.

9.5. Soustavy diferenciálních rovnic

5. Lokální, vázané a globální extrémy

Kapitola 11: Lineární diferenciální rovnice 1/15

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

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


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

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)

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

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

Úvod do analytické mechaniky

Diferenciální rovnice

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

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

Nalezněte obecné řešení diferenciální rovnice (pomocí separace proměnných) a řešení Cauchyho úlohy: =, 0 = 1 = 1. ln = +,

MATLAB a numerické metody

1 0 0 u 22 u 23 l 31. l u11

1 Mnohočleny a algebraické rovnice

Odpružená sedačka. Petr Školník, Michal Menkina. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

Teorie měření a regulace

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Zákony hromadění chyb.

Učební texty k státní bakalářské zkoušce Matematika Diferenciální rovnice. študenti MFF 15. augusta 2008

LINEÁRNÍ ROVNICE S ABSOLUTNÍ HODNOTOU

Vlastní (charakteristická) čísla a vlastní (charakteristické) Pro zadanou čtvercovou matici A budeme řešit maticovou

13. přednáška 13. ledna k B(z k) = lim. A(z) = M(z) m 1. z m.

ekologie Pavel Fibich rovnice rovnice Pavel Fibich Shrnutí Literatura

9.2. Zkrácená lineární rovnice s konstantními koeficienty

EXTRÉMY FUNKCÍ VÍCE PROMĚNNÝCH

Soustavy lineárních rovnic

Řešíme tedy soustavu dvou rovnic o dvou neznámých. 2a + b = 3, 6a + b = 27,

Odhad stavu matematického modelu křižovatek

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

Čas potřebný k prostudování učiva kapitoly: 1,25 hodiny

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

Transkript:

Obyčejné diferenciální rovnice (ODE) Obyčejné diferenciální rovnice N tého řádu převádíme na soustavy N diferenciálních rovnic prvního řádu. V rovnici f x, y, y ', y '',, y N =gx se substituují y '=z 1, y ''=z 2,..., y N 1 =z N 1 a máme tedy soustavu rovnic y ' = z 1 z 1 ' = z 2 z 2 ' = z 3 = f x, y, z 1, z 2,, z N 1, z' N 1 = g x, poslední rovnici obvykle lze psát ve tvaru z ' N 1 = gx, y, z 1, z 2,, z N 1 lze celkově zapsat jako a soustavu y = z 0 z 0 ' = z 1 z 1 ' = z 2 z 2 ' = z 3 = z N 1 ' = gx,z 0, z 1, z 2,,z N 1. K jednoznačnému řešení musí být známo jsou zadány se řešení ODE dělí na: N podmínek. Podle toho, ve kterých bodech Počáteční problém všech N podmínek je zadáno v jednom bodu, sleduje se přímo řešení vycházející z tohoto bodu, příkladem může být rovnice harmonického oscilátoru a k ní zadané počáteční podmínky v čase t=0, d 2 yt d t 2 =yt, y0=0, y'0=1 Okrajový problém ne všechny podmínky jsou zadány v jednom bodě, často jsou podmínky zadány na dvou koncích intervalu, na kterém řešíme, například rovnice popisující pohyb hmotného bodu v gravitačním poli a podmínky y x 0 =0, yx n =0 a v0=v 0 popisující úlohu, kterou řeší střelec z děla, když hledá elevační úhel takový, aby se z bodu x 0 trefil střelou s počáteční rychlostí v 0 do bodu x n v 0 x 0 x N

Runge-Kuttovy medoty pro řešení počátečního problému Budeme se zabývat odvozeními pouze pro 1 diferenciální rovnici 1. řádu (vzorce zobecněné na systém diferenciálních rovnic 1. řádu budou uvedeny na konci kapitol). Eulerova metoda d y Řešíme tedy rovnici d x = f x, y s počáteční podmínkou y x =y 0 0. Přibližné řešení v bodě x n1 nalezneme pomocí rozvoje funkce y x do Taylorovy řady v bodě x n yx n1 =yx n h yx n h y 'x n =yx n hfx n Nejnižší zanedbaný člen určuje odhad chyby metody, chyba v každém kroku je tedy úměrná h 2, a protože počet kroků na daném intervalu je nepřímo úměrný h, je celková chyba metody úměrná h. Eulerova metoda je tedy 1. řádu přesnosti, tedy poměrně málo přesná, a proto se v praxi nepoužívá (k dobré přesnosti je třeba velkého množství kroků). Postup při použití Eulerovy metody je znázorněn na následujících obrázcích.

lim yx K Eulerově metodě lze dospět i ze vztahu d y n h y x n d x = h 0 = f x, y. h Informace o konvergenci metody ve slidech, postačující podmínka konvergence je, aby funkce f měla na oblasti, kde hledáme řešení omezenou parciální derivaci podle y. Metody vyššího řádu, které by využívaly Taylorova rozvoje se v praxi nepoužívají, protože by byly potřeba vyšší derivace y a tedy parciální derivace f podle x a y. Taylorův rozvoj je ale důležitý i pro odvození dalších metod. Princip Runge-Kuttových metod Jsou v praxi často používané, a protože pro výpočet y n1 využívají pouze předchozí bod x n a nevyužívají body x k, y k, kde kn, říká se jim metody jednokrokové. Runge Kuttovy metody jsou založené na postupném zpřesňování hodnot ležících mezi x n a x n1. Obecný výpočetní vzorec metody má tvar y n1 h RK x n,h, kde x n,h= p 1 k 1 h p 2 k 2 h p r k r h. Vzorec je v podstatě hodně podobný Eulerově metodě, pouze místo f x n používáme funkci RK x n,h, která je defakto lineární kombinací funkčních hodnot funkce f. Pro k 1 h,, k r h totiž platí vztahy k 1 h = f x n k 2 h = f x n 2 h 21 h k 1. = k r h = f [ x n r h h r1 k 1 r2 k 2 rr 1 k r 1 ] Volbou r=1 dostaneme přímo Eulerovu metodu. Pro r 4 se řád metody může rovnat r. Pro konstrukci medoty 5. řádu je už třeba r=6. Konstrukce RK metody 2. řád u Vyjdeme opět jako u Eulerovy metody z Taylorova rozvoje funkce y x y x n1 = y x n h= y x n h y ' x n h2 2 y ' ' x n= y n h f x n h2 2 = = y n h f x n h2 2 f x x n f y y x x n hfx n h2 2 f x f f y x n d f d x x n =

Tentokrát jsme použili o jeden člen rozvoje více, abychom byli schopni dopočítat konstanty p 1, p 2, 2, 21 používané v RK metodě. V Taylorově rozvoji je tedy y n1 h f x n h2 f 2 x f f y x n y n1 h RK x n,h= v RK metodě h p 1 f x n p 2 f x n 2 h 21 h f x n. Abychom dostali v RK metodě rovněž členy s h 2, provedeme také Taylorův rozvoj funkce RK x n, h= RK x n,0h RK ' x n,0. Vyjádřením tohoto rozvoje dostaneme p 1 f x n p 2 f x n h p 2 2 f x 21 f f y x n. Porovnáním s Taylorovým rozvojem funkce y pro jednotlivé mocniny h pak dostaneme soustavu rovnic pro neznámé koeficienty RK metody: y n h f h2 2 f x f f y y n h p 1 p 2 f h 2 p 2 2 f x 21 f f y h : p 1 p 2 =1 h 2 f x : p 2 2 = 1 2 h 2 f y : p 2 21 = 1 2 Tato soustava má nekonečně mnoho řešení, v RK metodách se však používají jen dvě z nich: 2 =1, 21 =1, p 1 = p 2 =, je analogická lichoběžníkové metodě integrace k 1 = f x n, k 2 = f x n h h f x n 1 h 2 k 1 k 2 2 = 21 = 1 2, p =0, p 1 2 =, je analogická obdélníkové metodě integrace k 2 = f x n h 2 h 2 f x n 1 h k Runge Kuttova metoda 4. řádu Nejčastěji se při výpočtech používá RK metoda 4. řádu, v jednom kroku se používá k 1 = f x n k 2 = f x h n 2, y h n 2 k 3 = f x h n 2, y h n 2 k 2 k 4 = f x n h h k

y n1 h 6 k 1 2 k 2 2 k 3 k. Chyba v jednom kroku je řádu h 5, chyba metody v zadaném intervalu se zvětšuje lineárně s počtem kroků, který je nepřímo úměrný h, a tedy celková chyba na intervalu je řádu h 4. Odhad chyby a automatická volba kroku Existují 2 metody pro odhad chyby, který se používá při automatické volbě kroku. Srovnání výsledků 2 kroků o délce h s výsledkem jednoho kroku o délce 2 h Srovnání výsledků 2 RK metod různého řádu Různá délka kroku Odhad chyby je =y h y 2 h. Postup při automatické volbě kroku je následující: požadovaná maximální lokální chyba je 0 je li 0, krok přijmeme a v následujícím kroku zvětšíme h, h'=s h 5 0, kde S 0.9, h ' obvykle omezíme např. h' 4 h je li 0, krok nepřijmeme, ale opakujeme ho s h'=s h 4 0 při přijetí výsledku je možné ho zpřesnit použitím vztahu yx2 h= 16 15 y 1 h x2 h 15 y 2 hx2 h, tím získáme metodu 5. řádu přesnosti, tedy o řád vyšší Srovnání výsledků dvou RK metod (tzv. Embedded RK metody) Někdy se jim také říká Runge Kutta Fehlbergovy. Pro metodu 5. řádu přesnosti např. máme vztah y n1 c 1 k 1 c 2 k 2 c 3 k 3 c 4 k 4 c 5 k 5 c 6. Jednotlivá c lze volit i tak, že dostaneme metodu 4. řádu y ' n1 a 1 k 1 a 2 k 2 a 3 k 3 a 4 k 4 a 5 k 5 a 6. 6 Pak je odhad chyby dán jako 1 y ' n1 = c i a i k i. i=1 Spojité RK metody se používají pokud potřebujeme poměrně přesně znát hodnoty y i v bodech mezi y n a y n1 a nepostačuje nám obyčejná interpolace (více informací ve slidech a v Numerical recipies). Věty o lokálních a globálních chybách RK metod viz. slidy.

Vlastnosti RK metod samostartující robustní a odolné dostupné v numerických knihovnách mnoho vyčíslení funkce f (někdy pomalé) nehodí se pro stiff rovnice Pokud je funkce f nespojitá, můžeme nespojitost ignorovat a spolehnout se na automatickou volbu kroku, nebo nespojitost nalézt, výpočet v tomto bodě ukončit a začít opět za ním. O konzistentnosti, regulárnosti a konvergenci obecně viz. slidy. Zaokrouhlovací chyby jsou větší při volbě menšího h, a proto existuje pro volbu h optimum. Pokud použijeme příliš malé h může se i stát, že y n y n1 y n, ačkoliv to ve skutečnosti neplatí. Příklady v PASCALU ODE1.PAS, ODE2.PAS Bulirsch-Stoerova metoda Je obdobná Rombergově integraci a hodí se pokud je funkce f dostatečně hladká a zadaná rovnice nemá singulární bod. Postup je následující: provede se výpočet pro několik h, používá se sudá metoda (chyba je úměrná sudé mocnině h ) výsledek se interpoluje racionální lomenou funkcí proměnné h 2 a provede se extrapolace na h=0 výpočet se provádí postupně s počtem kroků n=2,4,6,8,12,16,24,32,48,64,96, více kroků než 96 se nepoužívá pro interpolaci se používá maximálně 7 z vypočtených hodnot pro různá n Pro jednotlivé výpočty se zadaným h se používá zpravidla nějaká jednoduchá metoda, např. metoda středního bodu uvedená ve slidech. Opět je snaha o co nejméně nutných vyčíslení funkce f. S Bulirsch Stoerovou metodou lze dosáhnout přesnosti 14. řádu, metoda se opět nehodí pro řešení stiff rovnic. Příklady v PASCALU BS41.PAS. Vícekrokové metody Používají se v jednom kroku hodnoty funkce y a f ve více bodech (ne pouze

k k x n ). Obecně pro ně platí vzorec y n1 = a j y n1 j h b j f i1 j. j=1 j=0 Pokud platí b 0 =0 nazýváme metody obecně explicitní, v opačném případě implicitní. Vícekrokové metody nejsou samostartující. Adamsovy metody explicitní metoda 4. řádu Adams Bashforthova y n1 h 24 55 f x, y 59 f x, y 37 f x, y 9 f x n n 1 n 1 n 2 n 2 n 3 n implicitní metoda 4. řádu Adams Moultonova y n1 h 24 9 f x, y 19 f x, y 5 f x, y f x 1 n1 n n n 1 n 1 n 2 n 2 pokud je f lineární funkce y dají se všechny y n1 převést na jednu stranu rovnice a rovnice se dá jednoduše vyřešit. V opačném případě by bylo třeba řešit nelineární rovnici gy h 24 9 f x, y19 f x, y 5 f x, y f x, y y= n1 n n n 1 n 1 n 2 n 2 Postup je následující: Metody prediktor korektor prediktor odhad y n1 explicitní metodou (např. Adams Bashforthovou) výpočet y ' n1 = f x n1, y n1 korektor implicitní metodou s použitím y ' n1 určíme y n1 výpočet y ' n1 = f x n1 1 Je složitější automatická volba kroku, ale v knihovnách implementována je. Výhodou metody je rychlost, nevýhodou je, že není samostartující, je citlivá na vlastnosti funkce f a nehodí se pro stiff rovnice. Stabilita, konvergence a konzistence viz. slidy.

Špatně podmíněné úlohy Přík lad: Řešení diferenciální rovnice y ' ' = y S počátečními podmínkami y 0=1 a y ' 0= 1 je analytické řešení y=e x. S počátečními podmínkami y0=1 a y ' 0= 1 je analytické řešení y=e x e x. Pro libovolně malé existuje x takové, že složka řešení e x bude převažovat nad složkou e x. A protože se chybě při numerickém řešení prostě nevyhneme, objeví se v řešení parazitní složka, která poroste a po určité době převáží řešení. Takovým úlohám se říká špatně podmíněné. Příklad v PASCALU ODE3.PAS. Stiff rovnice (rovnice se silným tlumením) Obsahují v sobě útlum s charakteristickým časem mnohem menším, než jsou zbylé charakteristické časy úlohy. V čase větším než je rychle se tlumící složka zanedbatelně malá, proto je u dosud popsaných metod nutné volit krok h. (Nemusí se samozřejmě jednat jen o čas, ale ve fyzice se takové rovnice často vyskytují a jsou většinou v nich jako proměnná vystupuje právě čas.) Přík lad 1. stiff rovnice y ' ' 101 y ' 100 y=0 má řešení y=c 1 exp 100 xc 2 exp x Na následujícím obrázku je řešení rovnice s konstantami c 1 =c 2 =1 a je vidět, že první složka řešení pro větší x úplně vymizí, naopak pro malá x je mnohem důležitější, než složka druhá.

Ještě názornější je příklad řešení rovnice y ' = 100 y100 s počáteční podmínkou y 0= y 0. Analytické řešení je y= y 0 1exp 100 x1 tedy pro veklá x v podstatě 1. Řeší li se rovnice Eulerovou metodou y n1 = y n h 100 y n 100, z čehož lze vyjádřit y n = y 0 11 100 h n 1. Je vidět, že pokud se použije krok h0.02, první člen v absolutní hodnotě roste a řešení je zcela chybné. Pro stiff problémy jsou tedy mnohem vhodnější implicitní metody, protože dovolují podstatně delší krok h. Příklad v PASCALU ODE41.PAS. Implicitní Eulerova metoda má tvar y n1 = y n h f x n1 1, a pokud ji aplikujeme na předchozí rovnici dostaneme y n =1 y 0 1, tedy řešení konvergující k 1 pro libovolné h. 1 100 h n Metody, které dovolují u stiff rovnic použít delší krok se nazývají stiff stabilní a zabýval se jimi C.W.Gear. Stabilita s konečným krokem viz. slidy. Příklad v PASCALU IME41.PAS. Semiimplicitní Eulerova metoda Implicitní metody jsou vhodné pro lineární diferenciální rovnice, kde se při výpočtu

y n1 řeší lineární rovnice. Řešení nelineárních rovnic je obtížnější a u systémů rovnic se to ještě víc komplikuje. Proto se implicitní rovnice předělá tak, aby byla lineární v y n1 a takové metodě se říká semiimplicitní. Linearizace se provádí rozvojem funkce f do Taylorovy řady f x n1 1 = f x n1 y n1 y n f y x n1. Dosazením do implicitní Eulerovy metody dostaneme y n1 = y n h[ 1 h f 1 y x n1 ] f x n1. Pro řešení stiff problémů se používají: Rosenbrockovy metody (semiimplicitní zobecnění Runge Kuttových metod) Semiimplicitní zobecnění Bulirsch Stoerovy metody Vícekrokové Gearovy metody (semiimplicitní zobecnění metod prediktorkorektor) Okrajová úloha