Ordinära differentialekvationer,

Relevanta dokument
Numeriska metoder för ODE: Teori

Ordinära differentialekvationer,

Numeriska metoder för ODE: Teori

Numeriska metoder för ODE: Teori

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

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

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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 ( )(

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

Laboration 2 Ordinära differentialekvationer

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

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

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Matlab övningsuppgifter

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

2D1250 Tillämpade numeriska metoder II

Sammanfattning (Nummedelen)

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

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

Absolutstabilitet. Bakåt Euler Framåt Euler

Ordinära differentialekvationer,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

NUMPROG, 2D1212, vt Föreläsning 9, Numme-delen. Stabilitet vid numerisk behandling av diffekvationer Linjära och icke-linjära ekvationssystem

Omtentamen i DV & TDV

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

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

Laboration 6. Ordinära differentialekvationer och glesa system

Tentamen i Teknisk-Vetenskapliga Beräkningar

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

Fallstudie: numerisk integration Baserad på läroboken, Case Study 19.9

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

Föreläsning 9. Absolutstabilitet

Tentamen i: Beräkningsvetenskap I och KF

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Tekniska beräkningar. Vad är tekn beräkningar? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi

ELLER (fyll bara i om du saknar tentamenskod): Datum: 32 maj Bordsnummer: Kontrollera att du fått rätt tentamensuppgifter

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Beräkningsvetenskap. Vad är beräkningsvetenskap? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi

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

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

KTH 2D1240 OPEN vt 06 p. 1 (5) J.Oppelstrup

Kurs DN1215, Laboration 3 (Del 1): Randvärdesproblem för ordinära differentialekvationer

Numeriska metoder, grundkurs II. Dagens program. Gyllenesnittminimering, exempel Gyllenesnittetminimering. Övningsgrupp 1

Sammanfattninga av kursens block inför tentan

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Ordinära differentialekvationer, del 1

FÖRSÄTTSBLAD TILL TENTAMEN. ELLER (fyll bara i om du saknar tentamenskod): Datum: 16 januari Bordsnummer:

Lösningsförslag till tentamensskrivningen i Numerisk analys

SF1544 LABORATION 2 INTEGRATION, MONTE-CARLO OCH BLACK-SCHOLES EKVATION FÖR OPTIONER

Föreläsning 8, Numme i2,

ELLER (fyll bara i om du saknar tentamenskod): Datum: 32 maj Bordsnummer: Kontrollera att du fått rätt tentamensuppgifter

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

SF1669 Matematisk och numerisk analys II Bedömningskriterier till tentamen Torsdagen den 4 juni 2015

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Matematik: Beräkningsmatematik (91-97,5 hp)

Fel- och störningsanalys

Fel- och störningsanalys

Tentamen i Beräkningsvetenskap I (1TD393)

2D1250 Tillämpade numeriska metoder II vt 06 Nada, J.Op p 1 (5) Om Verlet s metod

Laboration 3. Funktioner, vektorer, integraler och felskattning

F 4 Ch Numerisk integration, forts.; Ch.4 Numerisk derivering.

FÖRSÄTTSBLAD TILL TENTAMEN

Tentamen, del 2 Lösningar DN1240 Numeriska metoder gk II F och CL

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

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

REGLERTEKNIK Laboration 5

TANA19 NUMERISKA METODER

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.

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

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

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

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Standardform för randvärdesproblem

LABORATION cos (3x 2 ) dx I =

DN1212 för M: Projektrapport. Krimskramsbollen. av Ninni Carlsund

Omtentamen i DV & TDV

2 Matrisfaktorisering och lösning till ekvationssystem

Uppgifter i simuleringskursen

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

Konvergens för iterativa metoder

Beräkning av integraler

Ordinära differentialekvationer

Laboration 3. Funktioner, vektorer, integraler och felskattning

Transkript:

Sammanfattning metoder Ordinära differentialekvationer, del 2 Beräkningsvetenskap II n Eulers metod (Euler framåt, explicit Euler): y i+1 = y i + h i f (t i, y i ) n Euler bakåt (implicit Euler): y i+1 = y i + h i f (t i+1, y i+1 ) n Trapetsmetoden: y i+1 = y i + h i 2 ( f (t i, y i ) + f (t i+1, y i+1 )) Sammanfattning metoder! k 1 = f (t i, y i ) " k 2 = f (t i + h i, y i + h i k 1 ) y i+1 = y i + h i $ 2 (k 1 + k 2 ) n Heuns metod: n Klassisk Runge-Kutta:! k 1 = f (t i, y i ) k 2 = f (t i + h i 2, y i + h i 2 k 1 ) k 3 = f (t i + h i 2, y i + h i " 2 k 2 ) k 4 = f (t i+1, y i + h i k 3 ) y i+1 = y i + h i $ 6 (k 1 + 2k 2 + 2k 3 + k 4 ) Olika metoder påverkas olika mycket av steglängden h Avrundningsfel börjar dominera dominerar detta gör att man för att få en given noggrannhet måste välja olika lång steglängd vilket i sin tur gör att beräkningen tar olika lång tid h tid Ber steg tid/ber steg Euler 0.00016 0.083 62364 0.0000013 Heun 0.042 0.0006 238 0.0000027 Kl R-K 0.37 0.0002 28 0.000006 Trots att varje beräkningssteg tar längre tid för klassisk R-K är den totala beräkningstiden kortare 1

n Vissa problem leder till stabilitetsproblem en gräns för valet av steglängd n Implicita metoder tycks ha bättre stabilitetsegenskaper Explicit Euler Implicit Euler Några frågeställningar n Hur mäter man en metods noggrannhet? n Kan man härleda teoretiska formler? n Hur mäter man en metods stabilitetsegenskaper n S k styva problem ger stabiltetsproblem för explicita metoder. Varför? n Vilken effekt får styva problem i praktiken och hur löser man problemen n kan delas upp i lokalt resp globalt fel Exempel Eulers metod Fel i steg 1 lokalt fel felet som skapats i detta steg (grön kort pil) globalt fel - totalt fel i detta steg (blå lång pil) Fel i steg 2 lokalt fel i steg 3 för litet för att visa grafiskt globalt fel i steg 3 blå lång pil Fel i steg 3 2

lokalt fel i steg 4 grön kort pil globalt fel i steg 4 blå lång pil Fel i steg 4 n (trunkeringsfel) delas alltså in i Globalt fel vid steg k totalt fel i steg k Lokalt fel vid steg k felet skapat i steg k n Diskretiseringssfelet beror på något sätt av steglängden h n Hur det beror av h beror på metod och kallas för metodens noggrannhetsordning n Dessutom tillkommer avrundningsfel, normalt mycket mindre än trunkeringsfel n Lokalt fel, L k, härleds genom att beräkna skillnaden mellan approximativ lösningen y k + 1 beräknad med en numerisk metod och Taylorutvecklingen av den exakta yt ( k + 1) n Lokalt fel av ordning p+1 innebär att L k är en konstant multiplicerat med h p+1, brukar skrivas O ( h p + 1) n Globalt fel, E k, är det ackumulerade felet vid steg k. Svårare att härleda ett exakt uttryck, men gäller att: E k = O (h p ) om L k = O (h p+1 ) Motivering: Efter N steg fås N st lokala fel: NO (h p+1 ) = t N! t 0O (h p+1 ) = (t h N! t 0 )O (h p ) =O (h p ) t eftersom N t0 tn t h= N = 0 N h Noggrannhetsordning Noggrannhetsordning n Om en metod har globalt fel O (h p ) säger man att den har noggrannhetsordning p n Noggrannhetsordning betecknar att globalt fel Ek 0 lika snabbt som h p! 0 n Noggrannhetsordning får man enklast fram via det lokala felet (= p+1 => n.o. p) n För Eulers metod (både explicit och implicit) gäller: Lokalt fel O (h 2 ) Globalt fel O (h) Noggrannhetsordning 1 n Finns metoder av högre ordning n Heuns metod (2-stegs Runge Kuttametod): noggrannhetsordning 2 n Klassisk Runge Kutta (4-stegs R-K-metod): noggrannhetsordning 4 n Trapetsmetoden: noggrannhetsordning 2 3

Noggrannhetsordning Noggrannhetsordning n Man vill normalt ha en given noggrannhet i sina beräkningar och steglängd väljs automatiskt efter detta n Valet av metod är (bl a) en avvägning mellan noggrannhetsordning och effektivitet Hög n.o. => stor stegläng => färre beräkningssteg Låg n.o. => kort steglängd => många ber. steg Hög n.o => varje beräkningssteg innehåller fler operationer (pga att metoden mer komplicerad) Låg n.o. => varje beräkningssteg innehåller färre operationer n Ofta någonstans mittemellan, t ex n.o. ca 4 vanligt (jfr ode45) n Har s-stegs R-K alltid noggrannhetsordning s? Nej 1 < s 4 max n.o. = s 5 s 7 max n.o. = s-1 (bevisat 1963) 8 s 9 max n.o. = s-2 (bevisat 1965) s = 10 max n.o. = 7 (bevisat 1985) s = 11 max n.o. = 8 (bevisat 1985) En metod med s=17 har konstruerats! n Adaptiva metoder ställer själv in steglängden så att viss noggrannhet uppnås n Steglängden varierar vid snabba förlopp kort steglängd, långsamma förlopp lång steglängd n Om steglängden blir alltför kort uppfylls toleransen men metoden tar onödigt lång tid (ineffektiv) n Alla Matlabs inbyggda lösare är adaptiva n Jämför integralavsnittet i Beräkningsvetenskap I som innehåller adaptivitet hos metoder för integraler Automatisk reglering av steglängd. Algoritmskiss: 1. Beräkna nytt värde y i+1 med steglängd h i 2. Uppskatta lokalt diskretiseringsfel, e i 3. Om (e i < tolerans) acceptera y i+1. Gå till nästa steg annars om (e i > tolerans) kasta y i+1, minska h i och gå till steg 1 annars om (e i << tolerans) kasta y i+1, öka h i och gå till steg 1 n Problem: vet ej den exakta lösningen, hur kan man då uppskatta felet? n Lösning: Använd Richardsonextrapolation (jfr integraler i Ber Vet I): Qh () Q(2) h E p 2 1 där Q(h) är beräkning med steglängd h, Q(2h) beräkning av samma värde med steglängd 2h, p är noggrannhetsordningen hos metoden. Alternativ metod för feluppskattning: n Beräkna y k+1 samtidigt med två metoder av olika noggrannhetsordning => y k+1 av n.o. p => L ky = O ( h p + 1) z k+1 av n.o. p+1 => L kz = O ( h p + 2) z k+1 är alltså noggrannare än y k+1 n Sökt: L ky = y(t k+1 ) - y k+1, men y(t k+1 ) ej känd. Ersätt y(t k+1 ) med lösning som ligger närmare y(t k+1 ) än y k+1. Kan använda z k+1 => z k+1 - y k+1 = [(y(t k+1 ) - y k+1 ] [y(t k+1 ) - z k+1 ] L ky L ky O ( h p + 2) 4

n Matlab s ode45 använder R-K-metod av n.o. 4 respektive n.o. 5 för feluppskattning n Båda metoderna kan beräknas ekonomiskt genom att samma koefficienter används i de olika stegen k i n ode45: k 1 = f (x i, y i ) k 2 = f (x i + h 4, y i + h 4 k 1 ) k 3 = f (x i + 3 8 h, y i + h( 3 32 k 1 + 9 32 k 2 )) k 4 = f (x i + 12 13 h, y i + h(1932 2197 k 1! 7200 2197 k 2 + 7296 2197 k 3 )) k 5 = f (x i + h, y i + h( 439 216 k 1! 8k 2 + 3680 513 k 3 + 845 4104 k 4 )) k 6 = f (x i + h 2, y i + h(!8 27 k 1 + 2k 2! 3544 2565 k 3 + 1859 4104 k 4! 11 40 k 5 )) y i+1 = y i + h( 25 216 k 1 + 1408 2565 k 2! 2197 4104 k 4! 1 5 k 5 ) z i+1 = y i + h( 16 135 k 1 + 6656 12825 k 3! 28561 56430 k 4! 9 5 k 5 + 2 55 k 6 ) n Testar med % y! =! y, t " 0 $ y(0) = y &% 0 där Re(!) < 0 (jfr lab) Lösningen till testekvationen n Ekvationen brukar användas som testekvation n Avtagande (stabil) lösning lösning via numerisk metod bör då också vara avtagande, annars är den numeriska metoden instabil n Testekvationen blir alltmer styv för ökande λ n Styv ekvation typiskt som ett pistolskott - ett mycket snabbt förlopp under kort tidsintervall n För system av ode:er kan det också bero på kraftigt skilda skalor i de olika ekvationerna n Test för λ =100=> villkor h<0.02 för stabilitet h = 0.020 0.018 0.021 n Test för λ =100 med implicit Euler h = 0.021 h = 0.05 Inga stabilitetsproblem n Observera att implicit och explicit Euler har samma noggrannhetsordning Explicit Euler, h = 0.05 Implicit Euler, h = 0.05 Samma storleksordning på felet 5

n Ju styvare problemet blir, ju mindre blir gränsen för h (jfr ökande λ i testekvationen) n Metoderna måste välja små h på hela beräkningsområdet som egentligen inte krävs av noggrannhetsskäl n Implicita metoder har bättre stabilitetsegenskaper och kan variera h enbart utgående från noggrannhet gör att dessa metoder går snabbare för styva problem n Om problemet är icke-styvt används explicita metoder som standard (ode45 standardmetoden i Matlab) 6