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

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

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

LABORATION cos (3x 2 ) dx I =

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

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

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

Sammanfattning (Nummedelen)

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

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

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

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

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem.

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

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

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Icke-linjära ekvationer

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

Konvergens för iterativa metoder

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

Tentamen i Beräkningsvetenskap I (1TD393)

Ickelinjära ekvationer

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

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

TMA226 datorlaboration

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

Laboration 3. Funktioner, vektorer, integraler och felskattning

Laboration 3. Funktioner, vektorer, integraler och felskattning

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

TAIU07 Matematiska beräkningar med Matlab

Laboration 6. Ordinära differentialekvationer och glesa system

Sekantmetoden Beräkningsmatematik TANA21 Linköpings universitet Caroline Cornelius, Anja Hellander Ht 2018

Icke-linjära ekvationer

Omtentamen i DV & TDV

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

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

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

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

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

Sammanfattninga av kursens block inför tentan

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).

Beräkning av integraler

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

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Ordinära differentialekvationer,

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Numeriska metoder för ODE: Teori

FYSIKENS MATEMATISKA METODER

Omtentamen i DV & TDV

Interpolation. 8 december 2014 Sida 1 / 20

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Kapitel 7. Numerisk derivering och integration

Ordinära differentialekvationer,

Flervariabelanalys och Matlab Kapitel 3

med tillgång till värden på f: vi anser att vi kan evaluera f för alla x i (a,b) och använder kvadraturformler av typen n

6. Temperaturen u(x) i positionen x av en stav uppfyller värmeledningsekvationen. u (x) + u(x) = f(x), 0 x 2, u(0) = 0 u(2) = 1,

Föreläsning 5. Approximationsteori

Kapitel 1. Numeriska metoder

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Egenvärdesproblem för matriser och differentialekvationer

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

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

Flervariabelanlys och Matlab Kapitel 3

ALA-a Innehåll RÄKNEÖVNING VECKA 7. 1 Lite teori Kapitel Kapitel Kapitel Kapitel 14...

SF1625 Envariabelanalys Lösningsförslag till tentamen

Två gränsfall en fallstudie

2D1210, Numeriska Metoder, GK I för V 2.

MMA132: Laboration 2 Matriser i MATLAB

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Numerisk lösning till den tidsberoende Schrödingerekvationen.

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

Lösningar tentamen i kurs 2D1210,

9.3. Egenvärdesproblem

Facit Tentamen i Beräkningsvetenskap I, STS ES W K1

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Projekt Finit Element-lösare

Tentamen i Teknisk-Vetenskapliga Beräkningar

Numerisk Analys, MMG410. Lecture 10. 1/17

TANA17 Matematiska beräkningar med Matlab

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

Facit Tentamen i Beräkningsvetenskap I, STS ES W K1

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Numeriska metoder för fysiker Lördag , kl 10-14

Varning!!! Varning!!!

Linjärisering och Newtons metod

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

2D1240 Numeriska metoder gk2 för F2 Integraler, ekvationssystem, differentialekvationer

Föreläsning 1. Numeriska metoder grundkurs II, DN1240. Carina Edlund Mottagningstid i rum 4516: onsdagar kl.

Teknisk beräkningsvetenskap I 5DV154

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

Ansvariga lärare: Yury Shestopalov, rum 3A313, tel (a) Problem 1. Använd Eulers metod II (tre steg) och lös begynnelsevärdesproblemet

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

Numerisk Analys, MMG410. Lecture 13. 1/58

Transkript:

Kurs DN1215, Laboration 3 (Del 1): Randvärdesproblem för ordinära differentialekvationer Michael Hanke, Johan Karlander 2 april 2008 1 Beskrivning och mål Matematiska modeller inom vetenskap och teknik utgörs nästan uteslutande av differential- eller integralekvationer. Det är därför nödvändigt att ha metoder för att effektivt lösa dessa ekvationer. En stor del av den matematiska expertisen har ända sedan Newton och Leibniz introducerade differentialkalkylen varit inriktad på att förstå och lösa just differentialekvationer. Tyvärr är det endast för några få ekvationer det existerar en analytisk eller sluten lösning och för verkliga problem behöver vi därför nästan alltid använda numeriska metoder. Denna laboration går ut på att lösa ordinära differentialekvationer med hjälp av numeriska metoder. Det kommer visa sig att även till synes enkla problem kan vara mycket svåra att lösa numeriskt. Målet med laborationen är att: föstå principerna för numeriska metoder för randvärdesproblem i en dimension, kunna välja, och uppskatta egenskaperna för, olika numeriska algoritmer så att du slutligen kan förstå och lösa standardproblem noggrannt och kritiskt granska resultaten. 2 Förberedelser 1. Studera användningen av några av MATLABs verktyg för icke-linjära ekvationer (fzero, roots) och numerisk integration (quad, quadl)! (Kapitel 10.1, 10.2, 11.1.1 i Användarhandledningen eller i online-dokumentationen) 1

2. Repetera de matematiska grunderna för ordinära differentialekvationer från tidigare kurser! 3. Läs relevanta delar i föreläsningsanteckningarna! 3 Problem 3.1 Teoretiska frågor 1. Sant eller falskt: En liten residual f(x) garanterar en noggrann lösning till ett system av icke-linjära ekvationer. 2. Vad skulle du säga om konvergenshastigheten för en iterativ metod om efterföljande iterationer har felen (a) 10 2, 10 4, 10 8, 10 16,... (b) 10 2, 10 4, 10 6, 10 8,... 3. Vilket av följande beteenden är möjliga vid användning av Newtons metod för lösning av icke-linjära ekvationer? (a) Metoden konvergerar linjärt (b) Metoden konvergerar kvadratiskt (c) Metoden konvergerar inte alls 4. Vilken speciell egenskap skiljer ett randvärdesproblem från ett initialvärdesproblem för en ordinär differentialekvation? 5. Har ett randvärdesproblem för en ODE alltid en unik lösning? 6. När en differensmetod används för att omvandla ett randvärdesproblem för en differentialekvation till ett system av algebraiska ekvationer, vilken egenskap bestämmer om systemet blir linjärt eller icke-linjärt? 7. Finita differens- och finita elementmetoder för randvärdesproblem omvandlar originalsystemet till ett system av algebraiska ekvationer. Varför kräver oftast det resulterande linjära systemet mindre än O(N 3 ) operationer att lösa? 8. Vilken kvadratur, Newton-Côtes eller Gauss, gäller för varje av följande beskrivningar: 2

(a) Lättare att beräkna noder och vikter; (b) Lättare att använda för ett generellt intervall [a, b]; (c) Noggrannade för samma antal noder; (d) Har maximalt gradtal för antalet noder; (e) Noder är lätta att återanvända då ordningen ändras; 3.2 Icke-linjära ekvationssystem Uppgifterna i detta kapitel innehåller lösning av icke-linjära ekvationssystem med ökande svårighetsgrad. 1. Sambandet mellan tryck p, specifik volym v och temperatur T för en gas ges av van der Waals tillståndsekvation, (p + a v 2 ) (v b) =RT där R är en universell konstant och a och b är konstanter som beror på vilken gas som modelleras. Vi har R =0.082054, och för koldioxid, a =3.592 and b =0.04267. Beräkna den specifika volymen v givet temperaturen T = 300 och trycken p =1, 10 och 100. Jämför dina resultat med ideala gaslagen, pv = RT. Denna kan vid behov användas som en startgissning till den iterativa metoden för van der Waalsekvationen. 2. Härledningen av den Gaussiska tvåpunktskvadraturen för noderna t 1,t 2 och vikterna w 1,w 2, på intervallet [ 1, 1], leder till följande system av ickelinjära ekvationer: w 1 + w 2 = 2, w 1 t 1 + w 2 t 2 = 0, w 1 t 2 1 + w 2t 2 2 = 2/3, w 1 t 3 1 + w 2 t 3 2 = 0. Lös detta system för de obekanta t 1,t 2,w 1,w 2. Hur många lösningar kan du hitta? Obs: För att en lösning här skall vara meningsfull måste t i [ 1, 1]. Om detta gäller är lösningen dessutom unik. 3

3.3 Bratuproblemet Bratuproblemet är randvärdesproblemet u = λe u, 0 <t<1 med λ>0 och randvillkoren u(0) = u(1) = 0. Beroende på parametern λ har detta problem två, en eller ingen lösning. För λ =1 finns exakt två lösningar varav den ena är enkel att beräkna medan den andra är svår. Din uppgift är att beräkna lösningarna för λ =1med olika numeriska metoder. 1. Använd finita differensmetoden med n ekvidistanta inre noder! Låt h = 1/(n +1)och t i = ih för i =0,...,n+1. Det resulterande systemet blir icke-linjärt för de diskreta approximationerna y i. Plotta de olika lösningarna för n =1, 3, 7, och 15! 2. Försök att hitta den andra lösningen! Tips: Båda lösningar har positiv lutning vid t =0. 3.4 Det magiska talet π Det reella talet π =3.141592653...är ett av de mest fascinerande talen i naturvetenskapen. Ända sedan antikens dagar har man fösökt att precist och effektivt beräkna detta tal. En ide är att använda den definita integralen 1 1 0 4 dx = π. 1+x2 I detta problem skall du försöka att approximera denna integral med numerisk kvadratur. 1. Använd de sammansatta mittpunkts-, trapets- och Sipsonkvadraturerna för att beräkna π för olikasteglängderh. Försökatt beskrivafelet somenfunktion av h för varje metod, och jämför metodernas noggrannhet (baserat på det riktiga värdet för π). Finns det ett minsta värde h för vilket en minskning av h inte leder till ett noggrannare resultat? Om så, varför? Anmärkningar: 1 Detta är varken den snabbaste eller bästa metoden! 4

(a) En approximativ sekvens av steglängder kan vara: 1/2,1/4,1/8,1/16 osv. (b) Vi räknar med ett fel som beter sig asymptotiskt som e(h) ch p. Med andra ord, kvadraturen är av ordning p. Ordningen kan beräknas på följande sätt: Antag att vi har beräknat två approximationer med fel e(h) och e(h/q) för steglängderna h respektive h/q. Då gäller att p log e(h)/e(h/q). log q 2. Beräkna π med samma metod men med MATLABs inbyggda rutiner för adaptiv kvadratur och med olika feltoleranser. Hur tillförlitliga är de inbyggda rutinernas feluppskattningar? 3. Upprepa de föregående stegen för integralen 1 0 x log xdx = 4 9. Observera att integranden är obestämd (0 )vidx =0. Beräkna gränsvärdet och använd detta istället. 3.5 Adaptiv kvadratur För sammansatta kvardraturregler har vi ett fel på formen I(f,h) =I(f)+ch p + O(h r ), r > p. För den sammansatta trapetsregeln T (f,h) vetviattp =1, r =4och att c beror på andraderivatan av f. På samma sätt som för adaptiv stegkontroll för ordinära differentialekvationer är det frestande att använda ett mindre h på delintervall där andraderivatan är stor för att reducera det totala antalet funktionsutvärderingar. Eftersom andraderivatan av f inte är känd måste en automatisk feluppskattning användas. Antag att en sådan automatisk feluppskattning e est (h) är tillgänglig för någon kvadraturformel I(f,h). En adaptiv strategi kan då använda sig av divideand-conquer-strategin: Beräkna I(f,a,b) som en approximation till b f(x)dx. a Beräkna feluppskattningen e est (h). 5

Om e est (h) tol, returnera resultatet som den approximativa integralen. I annat fall, dela upp integralen i b a f(x)dx = (a+b)/2 a f(x)dx + b (a+b)/2 f(x)dx och använd divide-and-conquer-strategin med halverad tolerans på båda integraler separat. Returnera I(f,a,(a + b)/2) + I(f,(a + b)/2,b). Det absoluta felet för det slutgiltiga resultatet är mindre än den önskade toleransen. Observera att detta är en rekursiv algoritm! Din uppgift är nu följande: 1. Implementera en adaptiv numerisk integrationsmetod genom att använda trapesregeln med steghalvering. Gör det också för Simpsons metod (p =4 och r =6). 2. Testa din implementation, MATLABs kvadraturrutiner quad och quadl, samt den sammansatta Simpsonkvadraturen med humps funktionen (på 0 x 3) för olika toleranser med avseende på antalet funktionsutvärderingar! Hur många funktionsutvärderingar behöver Simpsonkvadraturen för att erhålla samma noggrannhet? 4 Utvärdering 1. Laborationen kan göras i grupper om två. 2. En labbrapport skall lämnas in i mitten av period 4. Denna skall inkludera beskrivning, svar och kod (sådan att jag kan köra den på min dator) till uppgifterna. 6