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

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

Ordinära differentialekvationer,

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

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

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

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Omtentamen i DV & TDV

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

TANA17 Matematiska beräkningar med Matlab

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

Uppgift 1 R-S. Uppgift 2 R-M. Namn:...

Omtentamen i DV & TDV

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

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

Laboration 6. Ordinära differentialekvationer och glesa system

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 Teknisk-Vetenskapliga Beräkningar

Sammanfattning (Nummedelen)

Föreläsning 5. Approximationsteori

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Interpolation Modellfunktioner som satisfierar givna punkter

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Interpolation. 8 december 2014 Sida 1 / 20

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

SF1513 NumProg för Bio3 HT2013 LABORATION 4. Ekvationslösning, interpolation och numerisk integration. Enkel Tredimensionell Design

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

ODE av andra ordningen, och system av ODE

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

SF1633, Differentialekvationer I Tentamen, torsdagen den 7 januari Lösningsförslag. Del I

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

Laboration 3. Ergodicitet, symplektiska scheman och Monte Carlo-integration

TAIU07 Matematiska beräkningar med Matlab

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

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

TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer

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

Laboration 2 Ordinära differentialekvationer

Bose-Einsteinkondensation. Lars Gislén, Malin Sjödahl, Patrik Sahlin

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

TMA226 datorlaboration

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

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

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A. e 50k = k = ln 1 2. k = ln = ln 2

Uppgift 1. (SUBPLOT) (Läs gärna help, subplot innan du börjar med uppgiften.) 1 A) Testa och förklara hur nedanstående kommandon fungerar.

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Ordinära differentialekvationer,

SF1625 Envariabelanalys Tentamen Måndagen den 11 januari 2016

SF1664 Tillämpad envariabelanalys med numeriska metoder Lösningsförslag till tentamen DEL A

Numerisk Analys, MMG410. Lecture 12. 1/24

Analys av elektriska nät med numeriska metoder i MATLAB

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

de uppgifter i) Under m-filerna iv) Efter samlade i en mapp. Uppgift clear clc Sida 1 av 6

Ordinära differentialekvationer (ODE) 1 1

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1/TM1, TMA

Linjär Algebra och Numerisk Analys TMA 671, Extraexempel

Inlämningsuppgift 4 NUM131

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

Tentamen i matematik. f(x) = ln(ln(x)),

Numeriska metoder för ODE: Teori

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

Numerisk Analys, MMG410. Lecture 13. 1/58

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A. r cos t + (r cos t) 2 + (r sin t) 2) rdrdt.

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

Numeriska metoder för ODE: Teori

Rapportexempel, Datorer och datoranvändning

d dx xy ( ) = y 2 x, som uppfyller villkoret y(1) = 1. x, 0 x<1, y(0) = 0. Bestäm även y( 2)., y(0) = 0 har entydig lösning.

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

FYSIKENS MATEMATISKA METODER

MMA127 Differential och integralkalkyl II

Laboration 3. Funktioner, vektorer, integraler och felskattning

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

LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 LÄSÅRET 03/04. Laboration 3 3. Torsionssvängningar i en drivaxel

Två gränsfall en fallstudie

DN1240, numo08 Stefan Knutas, Fredrik Båberg, B.10: Nalle-Maja gungar

Andra EP-laborationen

Lösningsförslag Inlämningsuppgift 3 Kapacitans, ström, resistans

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

Tentamensskrivning i Differentialekvationer I, SF1633(5B1206).

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

Gemensamt projekt: Matematik, Beräkningsvetenskap, Elektromagnetism. Inledning. Fysikalisk bakgrund

Laborationsrapport. Kurs El- och styrteknik för tekniker ET1015. Lab nr. Laborationens namn Lik- och växelström. Kommentarer. Utförd den.

SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik Lösningsförslag till del I

Laboration 1 Mekanik baskurs

Tentamen, del 2 DN1240 Numeriska metoder gk II för F

Transkript:

Kurs 2D1213, Laboration 2: Att lösa ordinära differentialekvationer med finita differensmetoden Michael Hanke October 19, 2006 1 Beskrivning och mål Matematiska modeller i vetenskap och ingenjörsvetenskap baseras nästan alltid på differential- eller integralekvationer och det är därför nödvändigt med metoder och verktyg för att effektivt lösa dessa. Sedan Newton och Leibniz introducerade differentialkalkylen har stor möda lagts ned på att just förstå och lösa differentialekvationer. Tyvärr är det endast i några få fall det går att hitta en sluten analytisk lösning till ett problem och numeriska metoder måste därför användas. Den här laborationen handlar om numerisk lösning av ordinära differentialekvationer och det kommer visa sig att det kan uppstå stora svårigheter även för enkla problem. Målet med laborationen är att förstå finita differensmetoder för ordinära differentialekvationer att förstå sambandet mellan en ekvation och de numeriska metoder som används att kunna välja en numerisk metod och förstå dess egenskaper så att du slutligen kan tillförlitligt lösa standardproblem och tolka resultaten 1

2 Förberedelser 1. Studera MATLABs ODE-lösare (Kapitel 11.2.1 i Användarhandledning i MATLAB eller i online-dokumentationen.) 2. Bli bekväm med MATLAB! För att använda lösaren för begynnelsevärdesproblem så effektivt som möjligt är det bra att göra anrop med endast ett returnerat värde, t ex res = ode45(...). Använd gärna funktionen deval (se help deval) för att få välinterpolerade värden 3. Repetera de matematiska grunder för ordinära differentialekvationer ni fått i tidigare kurser. 3 Problem 3.1 Teoretiska frågor 1. Sant eller falskt: Det finns ett oändligt antal matematiska funktioner som interpolerar en given mängd datapunkter. 2. Sant eller falskt: Då en kontinuerlig funktion interpoleras med ett polynom i ekvidistanta punkter i ett givet intervall, så konvergerar alltid polynomet mot funktionen då antalet interpolationspunkter växer. 3. Varför är interpolation med polynom av hög grad ofta dåligt? 4. (a) Har en differentialekvation (ensam) generellt en unik lösning? (b) Om den har det, varför? Om inte, vilken ytterligare information behövs för att en unik lösning skall finnas? 5. (a) Vad menas med en första ordningens ODE? (b) Varför skrivs en ODE av högre ordning vanligen om till en ODE av första ordningen? 6. Skriv följande system som ett första ordningens system: 1 = GMy 1 /(y 2 1 + y 2 2) 3/2, 2 = GMy 2 /(y 2 1 + y 2 2) 3/2. 7. Beskriv i ord skillnaden mellan det lokala och det globala felet som uppkommer då ett begynnelsevärdesproblem för en ODE löses numeriskt. 2

8. Vad menas en numerisk metod av ordning p då en ODE löses. 9. (a) Vad menas med en styv ODE? (b) Varför kan en styv ODE vara svår att lösa numeriskt? 10. Vilken är den enklaste numeriska metoden för att lösa en styv ODE? 3.2 Polynominterpolation Detta problem är väldigt enkelt och meningen är att det skall vara en introduktion till de mer avancerade problem som följer. Du kommer konstruera några interpolationspolynom till givna data för en komplexvärd funktion och skall använda detta polynom till funktionsutvärdering. 1. Bestäm andragradspolynomet p(t) som sammanfaller med f(t) = t i t = 0, 1, 4. Jämför approximationen p(2) med det exakta värdet f(2) = 2 1.414214! Då felet är ganska stort, lägg till en interpolationspunkt t = 3. Hur stort är felet nu? 2. Gammafunktionen definieras som Γ(t) = 0 τ t 1 e τ dτ, t > 0. För ett heltalsargument n, har gammafunktionen värdet så interpolation av punkterna Γ(n) = (n 1)!, t 1 2 3 4 5 y 1 1 2 6 24 borde ge en approximation till gammafunktionen i det givna intervallet. 3. Beräkna det fjärdegradspolynom som interpolerar de fem datapunkterna. Plotta polynomet samt värdena av den inbyggda gammafunktionen i intervallet [1, 5]. (a) Plotta kurvan för det relativa felet i en separat figur. 3

3.3 Arenstorf-banan Betrakta en begränsad variant av trekroppsproblemet där kropp med liten massa roterar kring två andra kroppar med större massor, så som en satellit roterar kring jorden och månen. Vi använder ett tvådimensionellt kartesiskt koordinatsystem i planet genom de tre kropparna. Låt x-axeln gå genom de två kropparna med stora massor och låt origo ligga i masscentrum för de stora kropparna. Vi får då ett roterande koordinatsystem! Alltså måste vi ta hänsyn till såväl de gravitationellasom centrufugal- och Corioliskrafterna. De återstående ekvationerna fås från Newtons lag i skalad form för satellit-jord-mån-systemet där och med data 1 = y 1 + 2y 2 ˆµ y 1 + µ N 1 µ y 1 ˆµ N 2, 2 = y 2 2y 1 ˆµ y 2 N 1 µ y 2 N 2, N 1 = ((y 1 + µ) 2 + y 2 2) 3/2, N 2 = ((y 1 ˆµ) 2 + y 2 2) 3/2, µ = 0.012277471, ˆµ = 1 µ. Koordinaterna (y 1, y 2 ) är koordinaterna för satelliten. Värdet µ är förhållandet mellan månens massa och systemets totala massa. Längdenheten för y är medelavståndet mellan mellan jorden och månen (ca 384000 km), och tidsenheten är en månad. Initialvärdena y 1 (0) = 0.994, y 1 (0) = 0, y 2(0) = 0, y 2 (0) = 2.00158510637908252240537862224, är givna så att en periodisk bana erhålls. Periodtiden är ungefär T = 17.0652166. Periodicitet betyder att satelliten har samma position och hastighet vid tiden t = T som vid initialtiden t = 0. 1. Formulera differentialekvationen som ett första ordningens system. Lös sedan detta problem med en valfri ODE-lösare i MATLAB. Noggranheten skall vara 10 8 för både RelTol och AbsTol. Gör en fasplot! Hur många steg behövde lösaren för att lösa systemet? 2. Implementera RK4-metoden. Använd ditt program för att lösa ovanstående problem. Börja med en steglängd på h = T/n där n = 1000. Detta betyder att du använder 1000 steg. Gör en fasplot. Dubblera sedan n tills plotten ser bra ut. Hur många steg behövdes? 4

3. En astronom är intresserad av mycket högre noggrannhet. Antag att han vill beräkna y(0) y(t) med ett fel på ±1km. Fortsätt dubblera n som förut och beräkna, för varje n, avståndet y(0) y(t) tills beräkningarna blir alltför tidskrävande. Uppskatta, från de värden du nu fått fram, hur många steg som krävs för att nå astronomens noggrannhet. 3.4 Kemisk reaktionskinetik Antag att koncentrationen som funktion av tiden för tre kemiska substanser ges av y 1 (t), y 2 (t) och y 3 (t). Om reaktionshastigheten y 1 y 2 är proportionell mot y 1 och rektionshastigheten y 2 y 3 är proportionell mot y 2, så är koncentrationerna styrda av den linjära, homogena, ordinära differentialekvationen y = y 1 y 2 y 3 = k 1 0 0 k 1 k 2 0 0 k 2 0 där k 1 och k 2 är hastighetskonstanterna för de två reaktionerna. Lös systemet numeriskt och antag att initialkoncentrationerna är y 1 (0) = y 2 (0) = y 3 (0) = 1. Låt k 1 = 1 och k 2 = 1000. Lös systemet med en Runge-Kutta-metod (t ex ode45, ode23), en Adams-metod (t ex ode113) och en metod för styva system (t ex ode15s, ode23s, ode23tb). Jämför de olika metoderna med avseende på dess effektivitet, mätt som antal funktionsanrop eller CPU-tid, för en given noggrannhet. Integrera ODE-systemet från t = 0 tills lösningen (nästan) når jämvikt eller tills metoden blir allt för tidskrävande. Tips: Titta på Robertson-problemet! 3.5 Likriktarkretsar Hemelektronik behöver oftast en likström för att fungera medan strömmen i vägguttaget är växelstöm. Växelstömmen är väl lämpad att omvandla till den specifika spänning som behövs för varje elekronisk apparat. Steget efter detta är att likrikta stömmen. Nuförtiden används nästan uteslutande IC-kretsar för detta, medan det förr var vanligare med diodbryggor. I denna uppgift vill vi beräkna det transienta beteendet hos två enkla kretsar, nämligen en envägslikriktare och en likriktarbrygga. 1. Vi börjar med en envägslikriktare. Kretsen finns skissad i figur 1 Karakteristiken för kretsarna är som följer: Spänningskälla E(t) = E 0 sin(2πft) med en (topp) spänning på E 0 = 5V och en frekvens på f = 50Hz. 5 y 1 y 2 y 3,

D E(t) C R (a) Figure 1: En enkel envägslikriktare Kondensator Här använder vi en enkel linjär kondensator så att i = med C = 1000µF. C dv dt Lastresistor Denna resistor styrs av Ohms lag: v = Ri with R = 100Ω. Diod Karakteristiken för dioden är starkt ickelinjär, ( v ) ) i = I D (exp 1 V T med temperaturspänning V T = 0.0259V och I D = 1 10 14 A. Spänningen e över lastresistorn styrs av differentialekvationen C de ( ( e E(t) ) ) dt + I D exp 1 + 1 V T R e = 0. Lös ekvationen med en valfri lösare för fem perioder av inspänningen. Använd ett initialvärde på e(0) = 0. Plotta lösningsbanan. Rapportera era erfarenheter från försök med olika lösare. Försök att ändra lastresistansen R så att inga vågor syns i plotten. 2. En envägslikriktare är inte till någon större användning. En mer praktisk krets är Graetz-likriktningsbryggan i figur 2. Att lösa detta problem med MATLABs verktygslåda är inte helt lätt. För att förenkla saker, föreslås att några icke-fysiska parametrar för komponenterna används: Resistorer Resistorerna har värdena R i = 10 3 Ω, R V = 10 3 Ω, och R L = 1.5Ω. 6

Ri E(t) C RV (a) RL Figure 2: Graetz-likriktningsbrygga Kondensator Välj C = 100µF. Diod Diodens karakteristik skall vara som ovan, med undantaget I D = 10 8 A. Spänningskälla Som ovan. Härled ekvationerna och integrera dem med valfri lösare! Initialvärdet skall vara noll för alla nodspänningar. Det rekommenderas att använda ode15s. 4 Utvärdering 1. Laborationen får göras i grupper med som mest två medlemmar. 2. I slutet på period 2 skall en laborationsrapport lämnas in. Den skall inkludera svar till frågorna samt all kod som används i uppgifterna (koden skall vara körbar). Sista inlämningsdag: Fredag 12 januari, 2007. 3. För att få godkänt skall följande uppgifter vara lösta: 3.1, 3.2, 3.3(1,2), 3.5(1). 4. För betyg 5 krävs även att uppgifterna 3.3(3) och 3.4 är lösta. 5. En bra lösning till uppgift 3.5(2) ger bonuspoäng som kan användas senare i kursen. 7