Numeriska metoder för ODE: Teori

Relevanta dokument
Numeriska metoder för ODE: Teori

Numeriska metoder för ODE: Teori

Ordinära differentialekvationer,

Repetitionsfrågor: 5DV154 Tema 4: Förbränningsstrategier för raketer modellerade som begynnelsevärdesproblem

Lösningsanvisningar till vissa av de icke obligatoriska workout-uppgifterna i Beräkningsvetenskap II

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Differentialekvationer. Repetition av FN5 (GNM kap 6.

Föreläsning 9. Absolutstabilitet

Absolutstabilitet. Bakåt Euler Framåt Euler

Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A

Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A. 1. (a) ODE-systemet kan skrivas på formen

Sammanfattning av föreläsning 11. Modellbygge & Simulering, TSRT62. Föreläsning 12. Simulering. Föreläsning 12. Numeriska metoder och Simulering

0.31 = f(x 2 ) = b 1 + b 2 (x 3 x 1 ) + b 3 (x 3 x 1 )(x 3 x 2 ) = ( ) + b 3 ( )(

Ordinära differentialekvationer,

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Runge-Kuttas metoder. Repetition av FN6 (GNM kap 6.

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Lösningsförslag till tentamensskrivningen i Numerisk analys

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20.

Tentamen i Beräkningsvetenskap II, 5.0 hp,

2D1250 Tillämpade numeriska metoder II

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Omtentamen i DV & TDV

Sammanfattning (Nummedelen)

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Komplettering till kursboken i Numeriska beräkningar. 1 Beräkningsfelsanalys. 1.1 Uttryck med kancellation

LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER. 1 Inledning. 2 Eulers metod och Runge-Kuttas metod

Laboration 2 Ordinära differentialekvationer

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Torsdag 28 aug 2008 TID:

TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA671

Matlab övningsuppgifter

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Del I: Lösningsförslag till Numerisk analys,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Teknisk beräkningsvetenskap I 5DV154

Tentamen i Beräkningsvetenskap I, DV, 5.0 hp, OBS: Kurskod 1TD394

Lösningsförslag, tentamen, Differentialekvationer och transformer II, del 1, för CTFYS2 och CMEDT3, SF1629, den 19 oktober 2011, kl. 8:00 13:00.

f(x + h) f(x) h f(x) f(x h) h

Tentamen i Beräkningsvetenskap II, 5.0 hp,

2D1240 Numeriska metoder gk II för T2, VT Störningsanalys

Olinjära system (11, 12.1)

ÖVN 6 - DIFFERENTIALEKVATIONER OCH TRANSFORMMETODER - SF Nyckelord och innehåll. a n (x x 0 ) n.

Tentamen i Beräkningsvetenskap II, 5.0 hp,

AUTONOMA DIFFERENTIALEKVATIONER

Välkomna till TSRT15 Reglerteknik Föreläsning 2

Laboration 6. Ordinära differentialekvationer och glesa system

Ordinära differentialekvationer, del 1

Föreläsning 8, Numme i2,

Institutionen för Matematiska Vetenskaper TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1/TM1, TMA

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Välkomna till Reglerteknik Föreläsning 2

Den tidsberoende Schrödingerakvationen ges i allmänhet av

Konvergens för iterativa metoder

Interpolation Modellfunktioner som satisfierar givna punkter

Tentamensskrivning i Differentialekvationer I, SF1633(5B1206).

Fel- och störningsanalys

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Instuderingsfrågor i Funktionsteori

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

1 x dx Eftersom integrationskonstanten i (3) är irrelevant, kan vi använda oss av 1/x som integrerande faktor. Låt oss beräkna

FÖRSÄTTSBLAD TILL TENTAMEN

BEGREPPSMÄSSIGA PROBLEM

Fel- och störningsanalys

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Numerisk Analys, MMG410. Lecture 1. 1/24

10 1 Felgraf. Fel Antal steg

Föreläsningen ger en introduktion till differentialekvationer och behandlar stoff från delkapitel 18.1, 18.3 och 7.9 i Adams. 18.

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Lördag 26 maj 2001 TID:

Doktorandkurs i flera komplexa variabler, vt 2010

Stabilitet m.a.p. begynnelsedata

Exempel ode45 parametrar Miniprojekt 1 Rapport. Problemlösning. Anastasia Kruchinina. Uppsala Universitet. Januari 2016

Institutionen för matematik KTH. Tentamensskrivning, , kl B1210 och 5B1230 Matematik IV, för B, M, och I.

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Om existens och entydighet av lösningar till ordinära differentialekvationer

Övningar i Reglerteknik. Differentialekvationer kan lösas med de metoder som behandlades i kurserna i matematisk analys. y(0) = 2,

Approximation av funktioner

Tentamen SF1633, Differentialekvationer I, den 23 oktober 2017 kl

TATM79: Föreläsning 3 Komplexa tal

6. Stabilitet. 6. Stabilitet

Kort sammanfattning av Beräkningsvetenskap I. Varning!!! Varning!!!

Sammanfattninga av kursens block inför tentan

Laboration 1 i SF1544: Öva på Matlab och konstruera en optimal balk Avsikten med denna laboration är att:

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

Tentamen: Numerisk Analys MMG410, GU

Tentamen i Teknisk-Vetenskapliga Beräkningar

Linjär Algebra och Numerisk Analys TMA 671, Extraexempel

Icke-linjära ekvationer

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Institutionen för Matematiska Vetenskaper TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA

M0038M Differentialkalkyl, Lekt 15, H15

Föreläsning 1 Reglerteknik AK

Sätt t = (x 1) 2 + y 2 + 2(x 1). Då är f(x, y) = log(t + 1) = t 1 2 t t3 + O(t 4 ) 1 2 (x 1) 2 + y 2 + 2(x 1) ) 2 (x 1) 2 + y 2 + 2(x 1) ) 3

Institutionen för Matematiska Vetenskaper TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA

= e 2x. Integrering ger ye 2x = e 2x /2 + C, vilket kan skrivas y = 1/2 + Ce 2x. Här är C en godtycklig konstant.

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Transkript:

Numeriska metoder för ODE: Teori Vilka metoder har vi tagit upp? Euler framåt Euler bakåt Trapetsmetoden y k+ = y k + hf(t k, y k ), explicit y k+ = y k + hf(t k+, y k+ ), implicit y k+ = y k + h (f(t k, y k ) + f(t k+, y k+ )), explicit Heun ỹ k+ = y k + hf(t k, y k ) y k+ = y k + h (f(t k, y k ) + f(t k+, ỹ k+ )), explicit Klassiska R-K k = f(t k, y k ) k = f(t k+, y k + h k ) k 3 = f(t k+, y k + h k ) k 4 = f(t k+, y k + hk 3 ) y k+ = y k + h 6 (k + k + k 3 + k 4 ), explicit Alla är enstegsmetoder

Lokalt trunkeringsfel och noggrannhetsordning Definition: Det lokala trunkeringsfelet är det fel man gör med en numerisk metod när man utgår från det exakta värdet vid tiden t k och tar ett steg. Rent tekniskt får man lokala trunkeringsfelet τ genom att sätta in den exakta lösningen i metoden och ta skillnaden mellan VL och HL. Exempel : Euler framåt τ = y(t k+ ) y(t k ) hf(t k, y(t k )) På grund av differentialekvationen kan vi ersätta (t k, y(t k ) med y (t k ) vilket ger: τ = y(t k+ ) y(t k ) hy (t k ) Analysera lokala trunkeringsfelet genom taylorutveckling kring lämplig punkt. Här väljer vi att taylorutveckla kring t = t k. Notera att y(t k+ ) = y(t k + h) Koeff Term = Utveckling y(t k+ ) = y(t k ) + hy (t k ) + h y (t k ) + h3 6 y (t k ) +... y(t k ) = -y(t k ) h y (t k ) = hy (t k ) τ = 0 + 0 + h y (t k ) + h3 6 y (t k ) +... Vi säger att lokala trunkeringsfelet i det här fallet är O(h ). Storleksordningen ges av den första termen som inte försvinner. För en förenklad analys av det globala felet när man löst över ett helt intervall kan vi summera de lokala felen. (OBS! En strikt analys av det globala felet är mera komplicerad och ligger utanför kursens ram.) Antal steg man gör på ett intervall a t b är (b a)/h. Det betyder att summan av de lokala felen här blir (b a)/h O(h ) = O(h). Generellt: Om lokala trunkeringsfelet är O(h p+ ) så är globala felet O(h p ). Def: Om en metod har globalt fel O(h p ) så säger man att den har noggrannhetsordning p. Exempel : Euler framåt har alltså noggrannhetsordning. Exekveringstider Huvudsakliga beräknings arbetet ligger i evalueringen av f(t, y). Heun gör två funktionsevalueringar per steg medan Euler gör en.

Arbete Euler: W (arbetet för en funktionsevaluering) Arbete Heun : W Antal steg blir T/h. För ett fall där Euler behöver använda steg h = 0.0 och Heun klarar samma noggrannhet med steg h = 0. får vi: Euler: T/0.0 = 00T Heun: T/0. = 0T Totalt arbete Euler: 00 T W Heun: 0 T W Heun är i detta fall 5 ggr snabbare för motsvarande kvalitet på lösningen, trots att metoden behöver göra dubbelt så mycket arbete per beräkningspunkt. Den högre noggrannhetsordningen gör att det behövs betydligt färre beräkningspunkter, så att exekveringstiden blir kortare trots det större arbetet per punkt. Noggrannhetsordning för våra metoder Metod Noggrannhetsordning Euler framåt och bakåt Trapetsmetoden Heun klassiska R-K 4 Konsistens och konvergens Def: En numerisk metod för lösning av ODE är konsistent om Ψ[y, h]/h 0 då h 0. Def: En numerisk metod för lösning av ODE är konvergent om y k y(t k ) då h 0. Konvergens kräver både konsistens och stabilitet Man kan konstruera metoder som är konsistenta, men inte konvergerar mot den rätta lösningen även om h 0. Metoden måste också vara stabil: nästa föreläsning. 3

Kondition, stabilitet och testekvationen De numeriska ODE-lösare som vi använder i den här kursen är utformade för att lösa begynnelsevärdesproblem på formen: y (x) = f(t, y(t)), t 0 y(0) = a där a är ett givet begynnelsevärde. Vad händer om det är ett mätfel ε(0) i a, så att vi i stället för det exakta begynnelsevärdet använder y(0) = a + ε(0)? Låt y(t)+ε(t) vara den exakta lösningen till det störda problemet (alltså problemet med mätfel i begynnelsevärdet). Då gäller: (y(t) + ε(t)) = f(t, y(t) + ε(t)) Om vi taylorutvecklar f(t, y(t) + ε(t)) kring y(t) och sätter in i ovanstående ekvation, så får vi: y (t) + ε (t) = f(t, y(t)) + f (t, y(t))ε(t)) +... Eftersom y (x) = f(t, y(t)) så tar y (t) och f(t, y(t)) ut varandra i ovanstående uttryck. Slutsatsen blir att om vi från början har ett mätfel ε(0) så kommer den exakta lösningen till ODE-problemet med störda indata att vid tiden t skilja sig med ε(t) från den exakta lösningen y(t) till problemet med exakta indata och ε(t) uppfyller ungefär nedanstående differentialekvation: ε (t) = f (t, y(t))ε(t)) Notera att koefficienten f (t, y(t)) inte beror på ε(t). Ekvationen för hur felet fortplantas med tiden är alltså en lineär ODE. Utredningen ovan visar hur den exakta lösningen till differentialekvationen påverkas av en störning i indata. En ekvation där en liten störning i indata ger upphov till en stor störning i lösningen sägs vara illakonditionerad. Motsvarande egenskap hos den numeriska metoden kallas instabilitet. Det vill säga att om en liten störning i problemet ger en stor störning i den numeriska lösningen, så är den numeriska metoden instabil. För att analysera en numerisk metods stabilitetsegenskaper, så undersöker man hur den numeriska metoden påverkar lösningen till störningsekvationen ovan. I analysen ersätter man f (t, y(t)) med en konstant λ och man brukar använda variabelnamnet y i stället för ε: y (t) = λy(t). 4

Detta kallas för testekvationen. Konstanten λ kan vara ett komplext tal. Lösningarna till testekvationen är y(t) = y 0 e λt, så λ avgör hur fort lösningarna växer eller avtar, beroende på tecken. Stabilitetsanalys för Euler framåt Euler framåt y k+ = y k + hf(t k, y k ) För Euler framåt tillämpad på testekvationen får vi y k+ = y k + hλy k y k+ = y k ( + λh) Kom ihåg att i testekvationen står y för störningen. För stabilitet krävs att störningen avtar med tiden, det vill säga att y k+ < y k som enligt ovanstående uttryck skulle innebära att y k ( + λh) < y k. Slutsatsen blir att för att Euler framåt ska vara stabil krävs att: + λh < Detta kallas för stabilitetsvillkoret för denna metod. Eftersom λ är kan vara ett komplext tal kan stabilitetsvillkoret beskrivas som ett område i komplexa talplanet. En cirkel i komplexa talplanet med centrum i c och radie r ges av de komplexa tal z som uppfyller z c = r. Villkoret λh ( ) < uppfylls därför av de komplexa tal λh som finns i en cirkel med centrum i - och radie. Denna cirkel kallas för stabilitetsområdet för Euler framåt. Stabilitetsvillkor och stabilitetsområden Definition: Stabilitetsvillkor är det villkor på λh som gör att störningar inte växer (den numeriska lösningen till testekvationen inte växer). Definition: Stabilitetsområde är det geometriska område i komplexa planet med λh-värden som ger en till beloppet avtagande lösning till testekvationen. 5

Stabilitetsanalys Euler bakåt Euler bakåt För testekvationen får vi y k+ = y k + hf(t k+, y k+ ) y k+ = y k + hλy k+ y k+ ( λh) = y k y k+ = ( λh) y k Avtagande lösning y k+ < y k om λh >. Detta är stabilitetsvillkoret för metoden. Stabilitetsområdet utgörs av alla komplexa tal λh som finns utanför cirkeln med centrum i och radie. Om realdelen av λ < 0 är metoden stabil för alla värden på h. Detta kallas att metoden är A-stabil. Stabilitet för Heun Stabilitetsområdet för Heuns metod: 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 Stabilitetsanalys för Heuns metod: för testekvationen y k+ = y k + h (f(t k, y k ) + f(t k+, y k + hf(t k, y k )) y k+ = y k + h (λy k + λ(y k + hλy k )) = ( + λh + (λh) )y k 6

Stabilitet, avtagande lösning y k+ < y k om Styva problem + λh + (λh) < Av det vi hittills har sagt framgår att valet av steglängd beror på både den numeriska metodens noggrannhet och på dess stabilitetsegenskaper. Vi behöver välja en steglängd som gör att diskretiseringsfelet blir tillräckligt litet för att uppfylla den tolerans som användaren har satt. Dessutom måste steglängden uppfylla stabilitetsvillkoret för den numeriska metoden. Vi har också sett att explicita metoder har sämre stablitetsegenskaper än implicita metoder. Ett ODE-problem sägs vara styvt om det är sådant att en explicit metod på grund av stabilitetsvillkoret måste ta väsentligt kortare steg än vad som skulle krävas för att uppfylla toleransen. Av störningsanalysen ovan framgår att det är storleken på f (t, y(t)) som avgör hur stort λ kan bli i testekvationen. Ju större värde f (t, y(t)) kan få för ett visst ODE-problem, desto styvare är alltså problemet. (OBS! Ovanstående är en förenklad beskrivning. För ett system av ODE kommer frac f(t, y(t)) att vara en matris kommer λ att svara mot egenvärdena tiil den matrisen. Detta ligger utanför ramen för den här kursen.) 7