Numeriska metoder för ODE: Teori Målen för föreläsningen Stabilitet vid diskretisering av ODE med numeriska metoder Definition: Den analytiska lösningen till en ODE är begränsad. En numerisk metod för ODEn är stabil om felet i den numeriska lösningen är begränsat Testekvationen Säg att vi har ett numeriskt fel i. Hur påverkar det värdet av + och felet där? Störningsanalys ger svaret. Exempel : Euler framåt med fel + = + (Ø ) ˆ = + µ ˆ + = + + (Ø + ) = + + (Ø ) + + Ç( ) = + + ( + ) + Felet i + blir ( + ) i + och blir ( + ) i + osv Om ( + ) så växer felet. Vi ser att är avgörande för hur felet beter sig. När man analyserar stabiliteten hos en numerisk metod för ODE brukar man använda testekvationen som har en konstant derivata ¼ = =. Lösningen till testekvationen är (Ø) = 0 Ø (0) = 0
dvs avgör hur fort lösningarna växer eller avtar. är ett komplext tal = Re + Im (Ø) = 0 Ø = 0 (Re+ Im)Ø = 0 Re Ø Im Ø = 0 Re Ø Om Re 0 så avtar den analytiska lösningen. Om Re 0 så växer den analytiska lösningen. Stabilitetsanalys för Euler framåt Euler framåt + = + (Ø ) För den analytiska lösningen har vi (Ø + ) = (Ø ) ÐÑ = ÐÑ För testekvationen får vi + = + = ( + ) + = + ( + ) = ( + ) Ò = 0 ( + ) Ò Avtagande lösning (stabilitet) + om + Om är tillräckligt litet så blir metoden stabil En cirkel i komplexa planet ges av Þ = Ö, med Þ = Ü + blir cirkelns ekvation (Ü ) + = Ö Här ( ), cirkel med centrum i = och radie Ö =. se att det är samma faktor som multiplicerar och störningen. Rita stabilitetsområde Stabilitetsvillkor och stabilitetsområden Definition: Stabilitetsvillkor är det villkor på som gör att störningar inte växer (lösningen inte växer). Definition: Stabilitetsområde är det geometriska område i komplexa planet med -värden som ger en till beloppet avtagande lösning till testekvationen. Analytiska lösningen är stabil i hela vänstra halvplanet
Stabilitetsanalys Euler bakåt Euler bakåt För testekvationen får vi + = + (Ø + + ) + = + + + ( + = ) = ( ) Avtagande lösning + om Utanför cirkeln med centrum i = och radie Ö =. Om metoden är stabil för alla värden på med i vänstra halvplanet (dvs Re 0) är metoden A-stabil. Stabilitet för Heun Stabilitetsomrà de fã r Heuns metod.5 0. 0.5 Im λ h 0 0.5 0..5 3.5 3.5.5 0.5 0 0.5.5 Re λ h Heuns metod för testekvationen + = + ((Ø ) + (Ø + + (Ø )) + = + ( + ( + )) = ( + + () ) Stabilitet, avtagande lösning + om + + () 3
Övriga metoder? ERK är Euler framåt, ERK är Heuns metod, ERK4 är den klassiska Runge- Kutta metoden Trapetsmetoden: Stabilitetsområde hela vänstra halvplanet. A-stabil. Styva problem Vad innebär det att en ODE är styv? Lösningen varierar mycket snabbt (om stort) över ett delintervall. Ett system av ODEer har funktioner som varierar över olika tidsskalor t ex med snabba och långsamma reaktioner. Alla numeriska metoder måste ta små steg i de kritiska intervallen. En lämplig metod kan ta större steg över resten av intervallet. En explicit metod tar små tidssteg i hela intervallet En implicit metod kan ta långa tidssteg i stora delar av intervallet Adaptivt val av steglängd, automatiskt Idéskiss: Vi har visat att det lokala trunkeringsfelet i Euler framåt har ledande term ¼¼. Givet en uppskattning på ¼¼ kan vi välja steglängd så att ¼¼ tol µ 4 tol ¼¼
ØÓÐ är en tolerans, t ex ØÓÐ = 0 Det spar tid (beräkningar) att ta stora steg där det går. Det som är svårt och/eller dyrt är att uppskatta det lokala felet. Matlab: ode45 t.ex. använder inbäddade Runge-Kutta metoder. (s. 588 59) Idé: Använd två metoder med olika noggrannhetsordning (t.ex. 4 och 5) för att beräkna + Metod med Ô = 4: (Ø + ) + = Ç( 5 ) Metod med Ô = 5: (Ø + ) + = Ç( 6 ) Differensen ger + + = ((Ø + ) + ) ßÞ Ð Ç( 5 ) Feluppskattning ger nu a) Fel OK, fortsätt b) Fel för stort, minska steglängden och försök igen c) Fel för litet, öka steglängden nästa gång. ((Ø + ) + ) (Ø + ) + ßÞ Ð Ç( 6 ) Lösning av olinjärt ekvationssystem Newton-Raphsons metod för ett system av ekvationer ¼ = () ¼ ¼ = = () = () () Euler bakåt + är lösning till + ( + ) = () = 0 () = () Ett iterationssteg från (Ò) till (Ò+) i Newton-Raphson:. = ((Ò) ). (Ò+) = (Ò) + För ett system av ekvationer blir = för Euler bakåt = 5