Ordinära differentialekvationer fortsättning

Relevanta dokument
System av ordinära differentialekvationer

Laboration 2 Ordinära differentialekvationer

Ordinära differentialekvationer

Matlab övningsuppgifter

Linjära system av differentialekvationer

Ordinära differentialekvationer (ODE) 1 1

Grafritning och Matriser

ODE av andra ordningen, och system av ODE

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

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Linjära system av differentialekvationer

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

Ordinära differentialekvationer,

Ordinära differentialekvationer,

Linjära ekvationssystem

Egenvärdesproblem för matriser och differentialekvationer

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

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

Grafik och Egna funktioner i Matlab

Linjär algebra. 1 Inledning. 2 Matriser. Analys och Linjär Algebra, del B, K1/Kf1/Bt1. CTH/GU STUDIO 1 TMV036b /2013 Matematiska vetenskaper

Laboration 6. Ordinära differentialekvationer och glesa system

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

Minsta-kvadratmetoden

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning

Linjära system av differentialekvationer

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

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

Mer om geometriska transformationer

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

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

AUTONOMA DIFFERENTIALEKVATIONER

TMA226 datorlaboration

Numeriska metoder för ODE: Teori

Matriser och Inbyggda funktioner i Matlab

Optimeringsproblem. 1 Inledning. 2 Optimering utan bivillkor. CTH/GU STUDIO 6 TMV036c /2015 Matematiska vetenskaper

Funktioner och grafritning i Matlab

Tentamen i Teknisk-Vetenskapliga Beräkningar

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

Teknisk beräkningsvetenskap I 5DV154

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Omtentamen i DV & TDV

Mer om funktioner och grafik i Matlab

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

Matematisk analys, laboration I. Per Jönsson Teknik och Samhälle, Malmö Högskola

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

Funktioner och grafritning i Matlab

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.

Lösningsförslag till tentamensskrivning i SF1633 Differentialekvationer I. Tisdagen den 7 januari 2014, kl

Matriser och Inbyggda funktioner i Matlab

UPG6 Miniprojekt 3: Kastparabler, projektiler, och raketer

k 1 B k 2 C ges av dx 1 /dt = k 1 x 1 x 1 (0) = 100 dx 2 /dt = k 1 x 1 k 2 x 2 x 2 (0) = 0 dx 3 /dt = k 2 x 2 x 3 (0) = 0

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

(a) Skriv en matlabsekvens som genererar en liknande figur som den ovan.

Newtons metod. 1 Inledning. CTH/GU LABORATION 3 MVE /2014 Matematiska vetenskaper

1.1 MATLABs kommandon för matriser

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

Datorlaboration i differentialekvationer

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

Modellering av Dynamiska system. - Uppgifter till övning 1 och 2 17 mars 2010

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Mer om funktioner och grafik i Matlab

Linjärisering, Jacobimatris och Newtons metod.

= y(0) för vilka lim y(t) är ändligt.

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

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

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

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

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

Numeriska metoder för ODE: Teori

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

Lennart Edsberg Nada,KTH Mars 2003 LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 LÄSÅRET 02/03. Laboration 3 4. Elmotor med resonant dämpare

Tentamen i Beräkningsvetenskap II, 5.0 hp,

TAIU07 Matematiska beräkningar med Matlab

Numeriska metoder för ODE: Teori

Tentamen i Beräkningsvetenskap II, 5.0 hp,

DYNAMISKT SYSTEM. STABILITET. Innehåll

15 februari 2016 Sida 1 / 32

Linjärisering och Newtons metod

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Geometriska transformationer

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

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

BEGREPPSMÄSSIGA PROBLEM

Programmeringsuppgift Game of Life

Matriser och linjära ekvationssystem

Linj-ara dynamiska system i diskret tid

D 1 u(x, y) = e x (1 + x + y 2 ), D 2 u(x, y) = 2ye x + 1, (x, y) R 2.

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

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

Rapportexempel, Datorer och datoranvändning

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

(y 2 xy) dx + x 2 dy = 0 y(e) = e. = 2x + y y = 2x + 3y 2e 3t, = (x 2)(y 1) y = xy 4. = x 5 y 3 y = 2x y 3.

Problemlösning 2 Stokastisk simulering., Problemlösning 2 Stokastisk simulering 1/13

Transkript:

CTH/GU STUDIO 6 TMV36b - /3 Matematiska vetenskaper Ordinära differentialekvationer fortsättning Analys och Linjär Algebra, del B, K/Kf/Bt Inledning Vi skall se lite mer på system av ordinära differentialekvationer av typen u (t) = f(t, u(t)) Exempelvis skall vi se på s.k. styva problem och metoder som är lämpliga för sådana. Styva problem uppstår ofta i ekvationer som beskriver kemiska reaktioner. Avslutningsvis skall vi se hur högre ordningens differentialekvationer kan skrivas om som system av första ordningens ekvationer. Allmänt system av ODE Vi skall lösa m differentialekvationer med tillhörande begynnelsevärden u (t) = f (t, u (t),, u m (t)), t [a, b], u (a) = u a,.. u m(t) = f m (t, u (t),, u m (t)), t [a, b], u m (a) = u am. Om vi inför vektorerna u (t) u(t) =. u m (t), f(t, u) = f (t, u (t),, u m (t)). f m (t, u (t),, u m (t)), u a = u a. u am så kan begynnelsevärdesproblemet skrivas på standardform u (t) = f(t, u(t)), t [a, b], u(a) = u a. () Här är f : R m+ R m den oftast icke-linjära funktion som beskriver differentialekvationen och vektorn u a ger begynnelsevillkoret. 3 Några lösningsmetoder Vi ska nu beskriva hur man kan konstruera en lösning u för varje kontinuerlig funktion f, dvs. konstruera en unik lösning till begynnelsevärdesproblemet ().

Vi har redan i en tidigare studio-övning tittat på Eulers framåtmetod. Vi började med att dela in intervallet [a, b] i N stycken delintervall av längden h = (b a)/n: a = t < t < t < < t i < t i < < t N < t N = b, t i = a + hi, h = (b a)/n = t i t i. Vi beräknade sedan en approximativ lösning enligt U(t ) = u a U(t i ) = U(t i ) + hf(t i, U(t i )). Metoden kallas explicit därför att i varje steg beräknar vi den nya kolonnvektorn U(t i ) som en explicit funktion av t i och den förra kolonnvektorn U(t i ). Vi kan istället använda Eulers bakåtmetod U(t ) = u a U(t i ) = U(t i ) + hf(t i, U(t i )). Denna metod är implicit därför att vi måste lösa ut den nya vektorn U(t i ) ur ett icke-linjärt ekvationssystem. Hur man löser sådana ekvationssystem kommer vi lära oss i ALA-C. Även trapetsmetoden är en implicit metod. U(t ) = u a U(t i ) = U(t i ) + h (f(t i, U(t i )) + f(t i, U(t i ))), Implicita metoder är, trots att de är mer komplicerade att skriva program för och varje tidssteg kräver mer beräkningar, mer effektiva på en typ av begynnelsevärdesproblem som kallas styva problem. Ett begynnelsevärdesproblem kallas styvt om det beskriver förlopp eller processer vilka utspelas under tidsintervall av mycket olika storleksordning. T.ex. inom kemisk reaktionsteknik är styva problem vanliga. Det finns färdiga program för sådana problem i Matlab. 4 ODE-lösare i Matlab Matlab har flera program som löser ODE med samma anrop som min_ode utom att man inte behöver ange steget; det väljs adaptivt av programmet. Till exempel, >> [t,u]=ode45(f,i,ua) >> [t,u]=ode5s(f,i,ua) Här är ode5s avsedd för styva problem. Som exempel tar vi: Robertsons ekvation (kemisk kinetik) u (t) =.4u (t) + 4 u (t)u 3 (t), u () =, u (t) =.4u (t) 4 u (t)u 3 (t) 3 7 u (t), u () =, u 3(t) = 3 7 u (t), u 3 () =,

där u =[A], u =[B], u 3 =[C] är koncentrationen av ämnena A, B, C som reagerar enligt A.4 B B + B 3 7 C + B B + C 4 A + C (långsam) (mycket snabbt) (snabbt) Problemet blir styvt eftersom det har mycket olika tidsskalor. Vi använder en vanlig lösare ode45 och en styv lösare ode5s. Vi jämför antal tidssteg och beräkningstid, dvs. vilken effektivitet vi får. ode45, ber.tid =.449 s, antal tidssteg = 99.95 [A].9.85.8 3 4 5 6 7 8 9 4 x 5 3 [B] 3 4 5 6 7 8 9..5 [C]..5 3 4 5 6 7 8 9 t ode5s, ber.tid =.389 s, antal tidssteg = 4.95 [A].9.85.8 3 4 5 6 7 8 9 4 x 5 3 [B] 3 4 5 6 7 8 9..5 [C]..5 3 4 5 6 7 8 9 t 3

Detta var ett renodlat kvalitativt exempel för att belysa vikten av att ha olika typer av lösare av differentialekvationer. Lite senare i denna studio-övning finns en lite större uppgift som handlar om en konkret kemisk reaktion, dvs. ett kvantitativt exempel. 5 Första ordningens system Vi ser på ett exempel från epidemiologi, nämligen Kermack-McKendricks differentialekvationer u (t) = c u (t) u (t) u (t) = c u (t) u (t) d u (t) u 3 (t) = d u (t) som beskriver utvecklingen av en epidemi. Här står u (t), u (t), u 3 (t) för antal mottagliga, smittade respektive bortförda. Parametrarna c och d beskriver smittspridning- respektive bortförandegraden. Vi tar c = och d = 5 samt begynnelsetillståndet u () = 95, u () = 5 och u 3 () =. Hur utvecklas epidemin med tiden? Vi beskriver differentialekvationen med function uprim=epidemi(t,u) c=; d=5; uprim=[-c*u()*u(); c*u()*u()-d*u(); d*u()]; beräknar och ritar lösningen med >> u=[95;5;]; >> [t,u]=ode45(@epidemi,[,],u); >> plot(t,u) >> title( Epidemins utveckling med tiden ) >> xlabel( Tiden ) >> ylabel( Antal individer ) >> legend( Mottagliga, Smittade, Bortförda ) Epidemins utveckling med tiden Antal individer 8 6 4 Mottagliga Smittade Bortförda...3.4.5.6.7.8.9 Tiden Vissa likheter med ett visst projekt? Vid en tidigare studio-övning betraktade vi en population av bytesdjur (kaniner) som lever tillsammans med en population rovdjur (rävar). Vi lät u (t) respektive u (t) beteckna antalet kaniner 4

respektive rävar vid tiden t. Som matematisk modell för populationernas utveckling använde vi Volterra-Lotka-ekvationerna: u (t) = a u (t) bu (t) u (t) u (t) = c u () (t) + d u (t) u (t) Med vektorbeteckningar får vi [ u = f(t, u) u, u = u() = u u a u bu, f(t, u) = u c u + d u u u, u = u ] (3) För att få en lite bättre uppfattning av vilka egenskaper systemet (3) har så skall vi titta närmare på högerledet. Eftersom funktionen f = f(u) bara beror av u och inte av t, differentialekvationen kallas då autonom, så kan vi rita ett s.k. riktningsfält. För varje initialvärde till (3) så har vi en (okänd) lösning u(t). Vi tänker oss ett nät av punkter. I varje punkt u ger u (t) den riktning som en lösning genom den punkten går åt. Vi ritar en pil i denna riktning. Då får vi ett riktningsfält. Genom att rita ut detta riktningsfält får vi ungefärlig information om hur lösningen u(t) till ekvationen beter sig för samtliga möjliga startvärden. Vi kan alltså skapa kurvan u(t) genom att sätta pennan på den startpunkt vi önskar och sedan följa pilarna. 6 Volterra Lotka 5 4 u(t) 3 4 6 8 u (t) Vi ritar några lösningskurvor i riktningsfältet med (funktionen volterra gjorde vi i en tidigare studio-övning) >> ua=[;.5]; >> [t,u]=ode45(@volterra,[,8],ua); >> plot(u(:,),u(:,), g, LineWidth,) 5

>> hold on >> ua=[9;.5]; >> [t,u]=ode45(@volterra,[,8],ua); >> plot(u(:,),u(:,), g, LineWidth,)... >> hold off Hur skall vi modifiera Volterra-Lotka-ekvationerna för att beskriva en överpopulation hos kaninerna. Hur påverkas fasporträttet. I nästa läsperiod skall vi se hur man ritar riktningsfält. Uppgift. Vi skall se på en typ av Belousov-Zhabotinsky reaction (se Atkins & Jones sid 636). Det vi ser på är den kemiska klockan som är ett något exotiska exempel på ett periodiskt förlopp i en kemin reaktion. Materialet bygger på Field och Noyes, J. Chem. Phys. 6: 877-884 (974). För en blandning av.5 M H SO 4.5 M KBrO 3. M Ce(NH 4 ) (NO 3 ) 5.5 M CH (COOH) härleder Field och Noyes massbalanser för mellanprodukterna HBrO, Br och Ce 4+ med dimensionslösa koncentrationer u (t), u (t) respektive u 3 (t); u (t) = s(u (t) u (t)u (t) + u (t) qu (t) ), u () = 4 u (t) = s (u 3 (t) u (t) u (t)u (t)), u () =. u 3 (t) = w(u (t) u 3 (t)), u 3 () = 4 där s = 77.7, q = 8.375 6 och w =.6. Integrerar man över långa tidsperioder ser man att lösningen är periodisk med en periodlängden på ungefär 3 tidsenheter (48.3 sekunder). Blandningen kommer att växla färg. Först kommer den vara klar, sedan växlar den till gult, blir klar igen, blir sedan åter gul, och så vidare. Man kan tillsätta en indikator så att färgväxlingen blir mellan blått och rött. Problemet är styvt så vi använder den styva lösaren ode5s i Matlab. Beräkna och rita upp lösningen under en period. Därefter studerar ni det initiala förloppet genom att beräkna och rita upp lösningen under de 5 första tidsenheterna. Rita ut logaritmerna av koncentrationerna, så att vi ser även små koncentrationer ( log ges av log i Matlab). Använd xlabel, ylabel och legend för att göra tydliga grafer. 6 Linjära system En viktig speciell typ av system av differentialekvationer är linjära system u (t) = Au(t), t [a, b], u(a) = u a. (4) Här är A en kvadratisk matris (n n), dvs. f(t, u) = Au är en linjär funktion. Till skillnad från de flesta icke-linjära system så kan vi lösa de linjära analytiskt (dvs. exakt) med den s.k. egenvärdesmetoden, vi återkommer till detta i ALA-C. 6

Som exempel på ett linjärt system tar vi [ u = Au u, t, u = u() = u u Vi ritar några lösningskurvor i riktningsfältet, A = u, u = u ] (5) >> A=[ ;- ]; f=@(t,u)a*u; >> r=; u=[;r]; >> [t,u]=ode45(f,[,],u); >> plot(u(:,),u(:,), g, LineWidth,) >> hold on >> r=.8; u=[;r]; >> [t,u]=ode45(f,[,],u); >> plot(u(:,),u(:,), g, LineWidth,)... >> hold off Runt i cirkel.8.6.4. u(t)..4.6.8.5.5 u (t) 7 Högre ordningens differentialekvationer Högre ordningens differentialekvationer u = f(t, u, u ), u = f(t, u, u, u ), kan om vi låter u = u, u = u, u 3 = u, skrivas om som system av första ordningens ekvationer u = f(t, u), där u(t) = (u (t), u (t), ) 7

Systemet får lika många ekvationer som ordningen på ursprungliga ekvationen. Som exempel tar vi en s.k. matematisk pendel. En masspunkt med massan m hänger i en viktlös smal stav av längden l. θ l mg m Med beteckningarna i figuren och Newtons andra lag får vi rörelseekvationen ml θ(t) = mg sin(θ(t)) Vi vill bestämma lösningen för olika begynnelseutslag θ, dvs. θ() = θ, då vi släpper pendeln från vila, dvs. θ() =. Om vi låter ϕ = θ, dvs. inför vinkelhastigheten, kan ekvationen skrivas θ = ϕ, θ() = θ ϕ = g sin(θ), ϕ() = l För att komma till standardform låter vi u = θ och u = ϕ och får u = u, u () = θ u = g l sin(u ), u () = Nu har vi standardformen [ u = f(t, u) u, u = u() = u u u, f(t, u) = g sin(u l ) Vi beskriver differentialekvationen i Matlab med funktionen function f=pendel(t,u,g,l) f=[u() -g/l*sin(u())]; θ, u = Följer lösningskurvorna med ode45 för några olika begynnelseutslag och ritar en bild som visar lösningarna t (t, θ(t)) och det s.k. fasporträttet t (θ(t), θ(t)) för de olika begynnelseutslagen. g=9.8; l=.; theta=[3::]*pi/8; col=[ g, b, m, c, r ]; tspan=linspace(,,); for k=:length(theta) u=[theta(k);]; [t,u]=ode45(@(t,u)pendel(t,u,g,l),tspan,u); subplot(,,), plot(t,u(:,),col(k)), hold on subplot(,,), plot(u(:,),u(:,),col(k)), hold on end ] 8

subplot(,,), hold off xlabel( $t$, interpreter, latex, fontsize,) ylabel( $\theta(t)$, interpreter, latex, fontsize,), subplot(,,), hold off xlabel( $\theta(t)$, interpreter, latex, fontsize,) ylabel( $\dot\theta}(t)$, interpreter, latex, fontsize,) θ(t) θ(t)..4.6.8 t θ(t) Från figuren ser vi att periodlängden ökar med ökande begynnelseutslag. Uppgift. En dämpad matematisk pendel beskrivs av ml θ(t) = mg sin(θ(t)) cl θ(t), t θ() = θ, θ() = där c är dämpningskonstanten. Lös problemet för l =., m =. och c =. för samma begynnelseutslagsvinklar som i exemplet ovan. Rita upp lösningarna och fasporträtten. 8 Redovisning Denna vecka skall uppgift - redovisas för handledaren. 9