Ordinära differentialekvationer,

Relevanta dokument
Ordinära differentialekvationer,

Numeriska metoder för ODE: Teori

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,

Ordinära differentialekvationer,

Numeriska metoder för ODE: Teori

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

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

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

Ordinära differentialekvationer, del 1

Numeriska metoder för ODE: Teori

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

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

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

Laboration 2 Ordinära differentialekvationer

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

Sammanfattning (Nummedelen)

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

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.

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

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

Laboration 6. Ordinära differentialekvationer och glesa system

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

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

Sammanfattninga av kursens block inför tentan

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

Matematisk analys för ingenjörer Matlabövning 3 Numerisk lösning av differentialekvationer

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Omtentamen i DV & TDV

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

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

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

Matlab övningsuppgifter

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

TMV151/181 Matematisk analys i en variabel M/Td, 2013 MATLAB NUMERISK LÖSNING AV ORDINÄRA DIFFERENTIALEKVATIONER

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen?

Teknisk Beräkningsvetenskap I Tema 3: Styvhetsmodellering av mjuk mark med icke-linjära ekvationer

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering

Laboration 1, M0039M, VT16

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

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Fredag 30 augusti 2002 TID:

Tentamen i: Beräkningsvetenskap I och KF

Teknisk beräkningsvetenskap I 5DV154

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

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

Inlämningsuppgift 4 NUM131

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Laboration 1: Optimalt sparande

LABORATION cos (3x 2 ) dx I =

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

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

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

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

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

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

SF1545 Laboration 1 (2015): Optimalt sparande

Absolutstabilitet. Bakåt Euler Framåt Euler

TMA226 datorlaboration

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

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

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

CHALMERS Finit Elementmetod M3 Institutionen för tillämpad mekanik. Teorifrågor

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering

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

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

Lösningsförslag Tentamen i Beräkningsvetenskap I, 5.0 hp,

TANA19 NUMERISKA METODER

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

Fel- och störningsanalys

Kurs 2D1213, Laboration 2: Att lösa ordinära differentialekvationer med finita differensmetoden

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

Ickelinjära ekvationer

Icke-linjära ekvationer

Beräkningsvetenskap I. Exempel på tillämpningar: Vad är beräkningsvetenskap? Informationsteknologi

Inledning. Kapitel Bakgrund. 1.2 Syfte

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

Icke-linjära ekvationer

Beräkningsvetenskap I. Exempel på tillämpningar: Vad är beräkningsvetenskap? Informationsteknologi. Jarmo Rantakokko Josefin Ahlkrona Karl Ljungkvist

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Föreläsning 9. Absolutstabilitet

ODE av andra ordningen, och system av ODE

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

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

DN1212 Numeriska Metoder och Grundläggande Programmering DN1214 Numeriska Metoder för S Lördag , kl 9-12

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

R LÖSNINGG. Låt. (ekv1) av ordning. x),... satisfierar (ekv1) C2,..., Det kan. Ekvationen y (x) har vi. för C =4 I grafen. 3x.

Transkript:

(ODE) Ordinära differentialekvationer, del 1 Beräkningsvetenskap II It is a truism that nothing is permanent except change. - George F. Simmons ODE:er är modeller som beskriver förändring, ofta i tiden Modellen är beskriven i form av en funktions derivata Givet: funktionens derivata, dvs funktionens tangent/lutning i varje punkt är känd Sökt: funktionen själv (ODE) (ODE) Exempel beskriver t ex hastigheten hos en fallskärmshoppare med massa, gravitationskonstant, friktionskoefficient Här är och är parametrar tolkas:hastighetsförändringen vid tiden t är proportionell mot hastigheten vid tiden t plus gravitationen Begynnelsevärde måste var givet, t ex hastighet vid tid 0, v(0), annars finns ingen entydig lösning. (ODE) Från laborationen Finns många tillämpningar Kemi (tidsberoende kemiska reaktioner) molekyldynamik Mekaniska system (fordon, robotar) Elektriska kretsar (resistorer mm) Celest mekanik (astronomi, satelliter), krävs hög noggrannhet Ekonomi Efter diskretisering i rummet av partiella differentialekvationer ( methods of lines ) Etc etc ODE:er skrivs på formen Högerledet f(t,y) lagras i en egen funktion som skickas in som inparameter i matlabs lösare function yut=rhsode(t,y) yut = ; % beräkning av högerledet tspan = [t0 tslut]; % intervall y0=[ ]; % begynnelsevärde [t,y]=ode45(@rhsode,tspan, y0); 1

Från laborationen Från laborationen Matlabs lösare använder högerledsfunktionen internt, en gång för varje tidssteg Ingen principiell skillnad mellan att lösa en ekvation gentemot ett system med många ekvationer (mer om detta senare) Exempel på numeriska metoder: Eulers metod, Heuns metod, Klassisk Runge-Kutta. Klassisk Runge-Kutta visade sig ge noggrannast resultat, sämst. Noggrannhet beror av steglängd h Matlabs inbyggda lösare beräknar steglängd på egen hand, givet en viss noggrannhet Några frågor: Hur fungerar de numeriska metoderna, t ex, principiellt? Varför ger Klassisk Runge-Kutta noggrannare resultat än (om samma steglängd används)? På vilket sätt beror noggrannheten på steglängden h? Hur kan Matlabs lösare beräkna steglängd på egen hand (och alltså beräkna noggrannheten automatiskt)? Frågorna ska vi titta på lite senare Två huvudtyper Begynnelsevärdesproblem Randvärdesproblem Svängande strängar, balkar etc Ofta rumsberoende och ofta från partiella diffar Vi tittar bara på begynnelsevärdesproblem Olika varianter av ode:er beroende på högerledets utseende Linjära med konstanta koefficienter Linjära med variabla koefficienter Icke-linjära Ökande grad av komplexitet Ofta har man system av ode:er Exempel Kan skrivas om på vektorform dvs samma form som skalära ode:er Grundformen används av numeriska metoder Vad gör man om annan form, t ex Kan skrivas om på rätt form Sätt ger ett system av ode:er på rätt form 2

Allmänt Exempel skrivs om genom att sätta och på vektorform dvs rätt form För högre derivator görs på samma sätt (upprepa förfarandet) sätt och på vektorform kallas Van Der Pols ekvation, beskriver bl a hjärtfrekvens, elektriska kretsar I MATLAB Definiera högerledet i en MATLAB-funktion function y_out=vdp(t,y,lambda) % Van der Pols ekv y_out = [y(2); lambda*(1-y(1)^2)*y(2)-y(1)]; Observera att y är nu en vektor där position 1 fås genom y(1) 2 får genom y(2) Anrop lambda = 2; tspan = [0 max(20,3*lambda); y0=[2;0]; % begynnelsevärden [t,y]=ode45(@vdp,tspan, y0,[],lambda); plot(t,y); legend( y_1, y_2 = y ); ger resultatet Koppling till integrering Några numeriska metoder (problemet ) I princip y (t) = f (t, y) y(t) = f (t, y)dt Man brukar därför ibland använda begreppet integrering när det gäller metoder för ode:er Ex) Ur Matlabs hjälp-text för ode45: [TOUT,YOUT] = ODE45(ODEFUN,TSPAN,Y0,OPTIONS) solves as above with default integration properties replaced by values Vissa metoder kan också härledas ur integrering med t ex Trapetsmetoden (= explicit Euler = Euler framåt) Enkel idé: Punkt 1 given (begynnelsevärdet) Beräkna en ny punkt genom att gå längd h i tangentens riktning, dvs i riktning som ju är lika med Upprepa för punkt 2, 3, 4, tills framme vid slutet på intervallet 3

Tangenten i ny punkt Tangenten i beräknas som om funktionen gått genom Ger ny punkt Tangenten i beräknas som om funktionen gått genom Ger ny punkt Upprepa tills hela intervallet klart - fel Matematisk formulering Algoritmen Härleds med Taylorutveckling Fel i steg 1 4

- fel - fel Fel i steg 2 Två varianter: 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 3 lokalt fel för litet för att visa grafiskt globalt fel blå lång pil - fel Fel i steg 3 lokalt fel grön kort pil globalt fel blå lång pil - fel Vad händer med felet om steglängden minskar? h=0.5 h=0.2 Felet blir mindre! Felet beror av h - fel Detta fel kallas diskretiseringsfel (trunkeringsfel) Delas in i Globalt fel totalt fel i steg k Lokalt fel felet skapat i steg k Trunkeringsfelet beror på något sätt av steglängden h Hur det beror av h beror på metod Härledning av detta fel med Taylorutveckling, ode, del 2 (senare) Dessutom tillkommer avrundningsfel, normalt mycket mindre än trunkeringsfel Idé: väg samman tangenter i flera punkter Exempel (samma som tidigare): För att hitta beräkna tangenten i och i och väg samman. Problem: hur hitta tangenten i? Punkten är ju inte känd 5

Lösning: Använd Euler-lösningen Lösning: Använd Euler-lösningen Parallellförflytta tangenten till punkten Parallellförflytta tangenten till punkten Väg samman tangenterna (medelvärde) Detta blir eller Euler-lösningen Metoden kallas för Heuns metod Exempel på en 2-stegs Runge-Kutta Finns många exempel på olika typer av R-Kmetoder, alla bygger på samma principer Annat exempel, Klassisk R-K (en 4-stegs R-K): Generell s-stegs explicit R-K där och är konstanter 6

Hittills har lösningen i punkt k+1 beräknats genom information från lösningen i föregående punkt Sådana metoder kallas explicita (explicit Euler, explicit Runge-Kutta etc) Finns också implicita metoder Hos implicita metoder används information hos lösningen i punkt k+1 för att beräkna lösningen i punkt k+1 Exempel: Implicit Euler (Euler bakåt) Hur kan man hitta lösningen i punkt k+1 genom att använda lösningen i samma punkt? Exempel) Implicit Euler med h=0.1: k=0: dvs Icke-linjär ekvation använd iterativ metod t ex fixpunktsiteration eller Newtons metod (Beräkningsvetenskap I). Sätt forts exempel) Med en iterativ lösare y 1 = iterativ(g(y 1 ),y_gissning) Som startgissning kan väljas y_gissning = y k Sedan upprepas förloppet för k=1,2,3 n-1 Lösaren iterativ kan t ex innehålla Newton-Raphsons metod eller fixpunktsiteration. Fler implicita metoder Trapetsmetoden Implicit Runge-Kutta (visas ej här) Om system av ode:er måste man lösa ett system av icke-linjära ekvationer varje steg Implicita metoder är mer arbetskrävande per tidsteg p g a iterationerna Vissa egenskaper hos metoderna gör att man för vissa problem ändå använder implicita metoder, se avsnitt ode, del 2 de blir i vissa fall totalt sett mindre arbetskrävande 7