Differentialekvationer begynnelsevärdesproblem

Storlek: px
Starta visningen från sidan:

Download "Differentialekvationer begynnelsevärdesproblem"

Transkript

1 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 33) Lektion 3, 4 och 5 Differentialekvationer begynnelsevärdesproblem Standardform och definitioner Eulers metod Runge-Kuttas metod Adaptiva metoder Stabilitet Standardform och definitioner (GNM 7:1A B) Standardformen för begynnelsevärdesproblem ser ut så här: dy dx = f(x, y) ; y(a) = c. Exempelvis differentialekvationen y xy x 2 = 0, y(0) = 1 skrivs på standardform: y = x 2 + xy; y(0) = 1. Denna differentialekvation är av första ordningen, dvs Den är ordinär, dvs... och linjär, dvs... Numeriska metoder för begynnelsevärdesproblem Grundstenen i de så kallade diskretiseringsmetoderna är att steg för steg skaffa sig en approximativ lösning till differentialekvationen. Steg för steg betyder att x-axeln delas in i delar detta är diskretiseringen, dvs att övergå från den kontinuerliga beskrivningen till den punktvisa (diskreta). I de metoder vi ska studera är delarna lika långa, och har längden h, metodens steglängd: x i = a + i h, i = 0, 1, 2...

2 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 34) y = f(x, y); y(a) = c. Man har därmed några olika lösningar till begynnelsevärdesproblemet att hålla reda på. Man håller isär dem med hjälp av olika beteckningar (se GNM 7:2A): Värdet av den sanna lösningen för x = x i : Värdet av den approximativa lösningen för x = x i som den använda numeriska metoden ger: Värdet av den approximativa lösningen, med även avrundningsfel beaktade beteckningar som dock bara används när man har behov av extra tydlighet: I metoderna som vi ska titta på, ersätts derivata (kontinuerlig beskrivning) med differenskvot (diskret beskrivning), dvs för x = x i byts y (x i ) ut mot (y i+1 y i )/h. Redan därmed har man infört ett fel, trunkeringsfelet i derivataskattningen. Snabbrepetera: Vad är trunkeringsfel? I fortsättningen gäller därför inte den diskretiserade ekvationen exakt. Den sanna ekvationen var y = f(x, y). Den diskretiserade blir (y i+1 y i )/h f(x i, y i ) (= f i ). Med de närmevärdesbeteckningar som infördes förra gången kan vi skriva den på formen y i+1 = y i + h f i De olika metoderna skiljer sig i fråga om vad man gör med f i för att få god noggrannhet. Noggrannheten mäts med noggrannhetsordningen, ett begrepp som har två definitioner, den första lite vag men fullt tillräcklig, den andra strikt matematisk:

3 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 35) Noggrannhetsordningen p definieras via trunkeringsfelet: 1. e trunk = y(x; h) y(x) c h p. 2. y(x; h) y(x) lim = c 0. h 0 h p Hög noggrannhetsordning, dvs stort värde på p, eftersträvas. Eulers metod (GNM 7:2B). Detta är den enklaste metoden, den där f i helt enkelt sätts lika med f(x i, y i ). Den diskretiserade lösningen får då det förlopp som jag visade i översta rutan på förra sidan Eulers metod innebär rekursion enligt formeln: EXEMPEL 1 Demonstration av Eulers metod för differentialekvationen y = xy; y(0) = 1. Differentialekvationen har lösningen y = e x2 /2. Jag beräknar den numeriska lösningen (med Eulers metod) med steglängden h = 0.1 och jämför resultaten med den sanna lösningen i intervallet 0 x 1. x=0; y=1; X=x; Y=y; h=0.1; for n=1:10 y=y+h*(x*y); Y=[Y y]; x=x+h; X=[X x]; xgr=[0:100]/100; ygr=exp(xgr.^2/2); plot (X,Y, o,x,y,xgr,ygr), grid, title( Eulers metod ) 1.8 Eulers metod

4 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 36) Som synes får man ett rätt stort fel. Eulers metod har noggrannhetsordning 1, dvs trunkeringsfelet är c h. Det krävs därför en mycket liten steglängd för att åstadkomma god noggrannhet: EXEMPEL 2 Bestäm y(1) med ett fel mindre än , när y = x 2 + xy; y(0) = 1. Eftersom noggrannhetsordningen är 1 kommer jag att behöva en steglängd h kanske 10 6, För att få en uppfattning om felet, vill jag beräkna y(1; h) för en följd h- värden. Vid regelbundenhet ska differenserna mellan dessa y-värden bilda kvoter Q 1, där Q är kvoten mellan successiva h-värden. (Detta enligt genomgången på Lektion 2.) Jag väljer Q = 10, och skriver ett program som bara lämnar det nödvändigaste materialet till utskrift. N=10000; h=1/n; for k=1:4 x=0; y=1; for n=1:n y=y+h*x*(x+y); x=x+h; H(k)=h; yett(k)=y; N=10*N; h=h/10; deltay=diff(yett); M=length(deltay); kvot=deltay(1:m-1)./deltay(2:m); disp( h y(1;h) delta-y kvoter ) format long disp([h yett [0, deltay] [0, 0, kvot] ]) Körningen tog rejäl tid i anspråk, men resultaten kom: h y(1;h) delta-y kvoter Kvoterna är mycket nära 10, så jag skattar trunkeringsfelet med y/9, dvs / = E trunk. Minns du: Varför division med just 9? Övriga fel är försumbara (enligt definitionen av regelbundenhet). Avrunda det sista y(1; 10 7 ) till åtta decimaler E pres = ; E total = som är lite för stort. Av skäl som jag strax ska förklara struntar jag i detta övertramp och svarar: y(1) = ± Det är ett bra resultat, och slutsatsen kan lätt bli att Eulers metod är användbar. Här på lektionen är det kanske ingen som märker misstaget i den slutsatsen, eftersom ingen var med när jag körde programmet. Men... Med h = 10 7 krävs tio miljoner steg för att gå från x = 0 till x = 1. Vi ser att i den inre for-slingan utförs två multiplikationer och tre additioner per varv. Det är

5 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 37) fem operationer, dvs 50 miljoner innan x = 1 nås. Körningen med h = 10 6 kräver tiondelen, dvs 5 miljoner operationer, h = 10 5 kräver 0.5 miljoner osv. Körningen av hela programmet tog 15 min 33 sek i anspråk, vilket är förfärligt mycket för ett så litet program. Av detta ägnas andelen 50/55.55 (vilket blir 14 minuter) åt den del där h = Skulle jag ha önskat ännu bättre noggrannhet och kört med h = 10 8 så skulle datorn ha jobbat ytterligare 10 gånger 14 min = 2 tim 20 min! Det var därför jag avstod från detta, när jag upptäckte att felet blev lite för stort. Eftersom datorns tid för en aritmetisk operation är på nivån mikrosekunder, bryr man sig numera inte så mycket om att putsa på detaljer i sina algoritmer. Men det är skillnad mellan detaljer och detaljer. Man bör se noga upp med hur man skriver programmets mest genomlöpta satser. Jag har skrivit x*(x+y) istället för x^2+x*y i programmet. Användningen av uppåtpilen åstadkommer anrop av logaritmfunktionen och exponentialfunktionen, vilka evaluerar värdet x 2 med cirka 200 aritmetiska operationer! Det betyder att den körning som tog mig 15 min 33 sek skulle ha tagit 40 gånger längre tid, 10 timmar och 22 minuter, om jag inte hade gjort denna putsning. Eulers metod är alltså inte en metod för praktisk användning, annat än för grova överslagskalkyler. Däremot lämpar den sig till teoretiska resonemang eftersom det är så lätt att förstå hur den arbetar. Med den förståelsen kan du sedan med större säkerhet arbeta med de mer komplicerade och för praktiskt bruk bättre metoderna. Runge-Kuttas metod (GNM 7:2C) Det finns en hel skara metoder som kallas rungekuttametoder. De utgår alla från grundformeln y i+1 = y i +h f i. Man konstruerar olika f i i syfte att få hög noggrannhetsordning. Den metod som i GNM-7:2C kallas Runge-Kuttas metod är den vanligaste varianten av de många befintliga. Den har noggrannhetsordning 4, dvs trunkeringsfelet är c h 4. Formlerna för Runge-Kuttas metod ser kanske avskräckande ut (se även GNM 7:2C), men det är ju bara datorn som ska handskas med dem, och det är inte meningen att du ska lära dig dem utantill. Utgåe från (x i, y i ) beräknas: k 1 = h f(x i, y i ) ; k 2 = h f(x i + 1h, y 2 i + 1k 2 1) ; k 3 = h f(x i + 1h, y 2 i + 1k 2 2) ; k 4 = h f(x i + h, y i + k 3 ) ; y i+1 = y i + (k 1 + 2k 2 + 2k 3 + k 4 )/6 ; x i+1 = x i + h. k1=h*f(x,y); k2=h*f(x+h/2,y+k1/2); k3=h*f(x+h/2,y+k2/2); k4=h*f(x+h,y+k3); y = y+(k1+2*k2+2*k3+k4)/6; x = x+h;

6 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 38) EXEMPEL 2, fortsättning Bestäm y(1) med ett fel mindre än , när y = x 2 + xy; y(0) = 1. Nu ska det göras med Runge-Kuttas metod. Med tanke på att funktionen ska beräknas 4 gånger i varje steg som metoden tar, så är det mycket lämpligt att skriva ett funktionsprogram för differentialekvationen. function yprim=ex2f(x,y) yprim=x*(x+y); Nu gör jag som förut, med skillnaden att jag kan arbeta med mycket större steglängder. Jag försöker med h = 0.1, 0.05 och 0.025: N=10; h=1/n; for k=1:3 x=0; y=1; for n=1:n k1=h*ex2f(x,y); k2=h*ex2f(x+h/2,y+k1/2); k3=h*ex2f(x+h/2,y+k2/2); k4=h*ex2f(x+h,y+k3); y = y+(k1+2*k2+2*k3+k4)/6; x = x+h; H(k)=h; yett(k)=y; N=2*N; h=h/2; deltay=diff(yett); M=length(deltay); kvot=deltay(1:m-1)./deltay(2:m); disp( h y(1;h) delta-y kvot ) format long disp([h yett [0, deltay] [0, 0, kvot] ]) Körningen resulterar i utskrifterna: h y(1;h) delta-y kvot Kvoten är tillräckligt nära 16 för att indikera regelbundenhet. Trunkeringsfelet skattas med hela differensen , eftersom kvoten inte ligger mycket nära 16. Repetera snabbt: Varför 16? Varför hela differensen? Vad annars? Avrunda y(1; 0.025) till 8 decimaler, E pres = ; E trunk +E pres = < = E total. Svar: y(1) = ± Vid den här sortens övningar ska man förstås kontrollera om resultaten, som man fick med de olika metoderna, stämmer överens. Är inte alla siffror lika, så ska åtminstone

7 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 39) felområdena ha någon liten snittmängd gemensamt. Annars är det något som inte stämmer; metod och/eller felskattning. Det är bara slutsiffrorna som skiljer i de två svaren. De blir (20 ± 21) 10 8 i Eulers metod, dvs det resultatet kan nå upp till , och ligger därmed inuti felområdet (40 ± 6) 10 8 för resultatet i Runge-Kuttas metod. Den här metoden, att göra tillförlitlighetsbedömning genom att jämföra olika metoder, kallas metodvariation (se GNM 8:3D). Vi såg att det blev bättre noggrannhet med Runge-Kuttas metod än med Eulers. Detta är ganska självklart; betydligt viktigare är den stora tidsvinsten: I varje rungekuttasteg beräknas funktionen f(x, y) = x (x + y) fyra gånger, vilket kräver 4 multiplikationer och 4 additioner. Uträkningen av k 1, k 2, k 3 och k 4 sker med 4 multiplikationer (med h) och 6 additioner (division med 2 administreras i binär aritmetik på försvinnande kort tid, jämfört med tiden för en aritmetisk operation). Nytt y-värde tas fram med 4 additioner och 1 division (även multiplikation med 2 tar försumbar tid); nytt x- värde med 1 addition. Ett rungekuttasteg kräver alltså (4+4)+(4+6)+(4+1)+1=24 aritmetiska operationer. Med h = 0.1 tas 10 steg, sedan blir det 20 respektive 40 steg, när h halveras. Sammanlagt 70 steg, totalt = 1680 aritmetiska operationer. Jag har granskat kalkylen så här noga, för att klargöra, att vid jämförbar noggrannhet kräver Runge-Kuttas metod försumbar tid jämfört med Eulers metod. Funktionsprogram som parameter Det känns onödigt att för varje ny differentialekvation skriva ett nytt program, som varje gång blir i stil med det i Exempel 2. MATLAB bjuder på möjligheten att skriva funktionsprogram som har funktionsprogram som parameter. Ett funktionsprogram som behandlar ett begynnelsevärdesproblem u = f(x, u), med Runge-Kuttas metod, kan utformas så här: function [uslut] =RKbegv(F,xstart,xslut,ustart,Nsteg); h=(xslut-xstart)/nsteg; x=xstart; u=ustart; for n=1:nsteg k1=h*feval(f,x,u); k2=h*feval(f,x+h/2,u+k1/2); k3=h*feval(f,x+h/2,u+k2/2); k4=h*feval(f,x+h,u+k3); x = x+h; u = u+(k1+2*k2+2*k3+k4)/6; uslut=u; Nyheten feval(f,x,u) (funktionsevaluering) ger precis samma resultat som F(x,u). Skillnaden är att i feval sätts det funktionsnamn in som man använder vid anropet av RKbegv.

8 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 40) På så vis kan körningen av Exempel 2, fortsättning, med steglängden lika med ett av de tre h-värdena, genomföras med anropet yett(k)=rkbegv( Ex2f, 0, 1, 1, N) förutsatt att N har ett värde (= antal steg). Nu byts F överallt i RKbegv ut mot Ex2f. Så förvandlas t ex k1=h*feval(f,x,u); till k1=h*feval( Ex2f,x,u);. Detta betyder precis detsamma som k1=h*ex2f(x,u); men skulle man skriva det, så skulle RKbegv kunna användas ast för just Ex2f. Som RKbegv är skriven nu, kan programmet utan några ändringar användas till vilket begynnelsevärdesproblem som helst. EXEMPEL 2, fortsättning Jag löser precis samma uppgift med RKbegv: Nsteg=10; for k=1:3 yett(k)=rkbegv( Ex2f,0, 1, 1, Nsteg); Nsteg=2*Nsteg; deltay=diff(yett); M=length(deltay); kvot=deltay(1:m-1)./deltay(2:m); disp( h y(1;h) delta-y kvot ) H=1./[ ]; format long disp([h yett [0, deltay] [0, 0, kvot] ]) Vid körning får jag exakt samma utmatning som förut. Det är vanligt att man önskar lösningen till differentialekvationen tabellerad eller ritad. Båda dessa presentationer kräver att lösningen beräknas i ett flertal punkter, inte bara i en slutpunkt. Med några enkla ändringar i RKbegv får jag ett rungekuttaprogram RKtab som levererar en tabell över lösningen från xstart till xslut: function [utab] =RKtab(F,xstart,xslut,ustart,Nsteg); x=xstart; u=ustart(:); utab=u ; h=(xslut-xstart)/nsteg; for n=1:nsteg k1=h*feval(f,x,u); k2=h*feval(f,x+h/2,u+k1/2); k3=h*feval(f,x+h/2,u+k2/2); k4=h*feval(f,x+h,u+k3); x = x+h; u = u+(k1+2*k2+2*k3+k4)/6; utab = [utab; u ]; EXEMPEL 2, fortsättning Gör en tabell över lösningen till differentialekvationen (samma som hittills) med 6 korrekta decimaler, för x = 0, 0.1, 0.2,..., 1.0, samt rita lösningen över intervallet 0 x 1.

9 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 41) Erfarenheten från den föregåe behandlingen säger mig att att jag med h = 1/40 får lösningen till det här problemet med trunkeringsfel betryggande mycket mindre än Jag bryr mig i det här fallet därför inte om att skatta trunkeringsfelet i varje tabellpunkt, eftersom det felet ändå dränks av presentationsfelet, vid avrundning till 6 decimaler. Y=RKtab( Ex2f,0, 1, 1, 40); xtabell=[0:10]/10 ; xgraf=[0:40]/40; ytabell=y(1:4:41); ytabell=round(1e6*ytabell)/1e6; format long, disp( x y ) disp([xtabell ytabell]) plot(xgraf,y), grid title( dy/dx = x(x+y) ) Körning av denna kommandofil ger tabell och graf: x y dy/dx = x(x+y) När man presenterar (redovisar) ett resultat, begärt i tabellform ska man (förstås) inte skriva tabellen som ovan. Med ordbehandlare ser man till att tabellen får vettigt utsee, och redovisar den i den här stilen:

10 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 42) x y(x) (6 korrekta decimaler i tabellvärdena.) Filerna RKbegv.m och RKtab.m finns åtkomliga från hemsidan för kursen. Det är helt i sin ordning att knycka dem och använda dem. Har du dem blir sedan arbetet med mer sammansatta problem, innehållande behandling av begynnelsevärdesproblem, näst intill lustfyllt. Adaptiva metoder En metod för behandling av begynnelsevärdesproblem kan behöva anpassa steglängden till hur snabbt lösningen varierar. Den anpassningen ska helst göras automatiskt, dvs av programmet. Naturligt är då att grovskatta trunkeringsfelet när en viss steglängd har använts, och vid behov justera steglängden. (x i, y i ) / Ett steg med steglängd h y / E = y y Två steg med steglängd h 2 y Om E är mycket litet, så kan man kosta på sig att öka steglängden, säg till 2h. Om E är för stort, är steglängden för stor. Då går man tillbaka till x i och minskar steglängden, exempelvis till h/2. Om ingetdera av dessa inträffar, går man vidare från x i + h = x i+1 med y i+1 = y. MATLAB bjuder på......allehanda godis. Funktionerna ode23 och ode45 är adaptiva differentialekvationslösare. De bygger på kombinationer av olika rungekuttametoder. Jag har mest förtroe för ode45. Anrop sker i stil med [X,Y] = ode45( diffekv,[xstart,xslut],ystart)

11 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 43) Utdata X blir en kolumnvektor med de genererade x-koordinaterna mellan (och inklusive) x = xstart och xslut, och Y blir motsvarande y-koordinater. EXEMPEL 2, fortsättning Vi behandlar åter begynnelsevärdesproblemet y = x 2 + xy; y(0) = 1, nu med ode45. [X,Y]=ode45( Ex2f,[0:10]/10, 1); Y=round(1e6*Y)/1e6; disp( x y(x) ) format long, disp([x Y]) x y(x) Detta är onekligen behändigt och dessutom i detalj samma resultat som med Runge- Kuttas metod. Men i det fördolda går behandlingen till på helt annat sätt. ode45 mellanlandar troligen i betydligt fler punkter än de som kommer med i tabellen. Om jag istället hade anropat ode45 med [X,Y] = ode45( Ex2f,[0 1], 1), så hade jag i utdatavektorerna fått med alla punkterna. Däremot är det inte säkert att metoden då hade hamnat i just 0.1, 0.2, , eftersom steglängden kan variera. När man istället för bara startpunkt och slutpunkt ger mellanlandningspunkter, interpolerar MATLAB sig fram till de önskade punkterna från de värden som ode45 erhåller. Interpolationen kan resultera i sämre noggrannhet än de ursprungliga värdena har. I det här fallet ser vi (genom att jämföra med tidigare resultat) att vi har fått 6 korrekta decimaler. Lösningen ska, enligt manualen, få absoluta felet 10 6, men detta är inte att lita på. Det är just denna opålitlighet hos de annars så behändiga MATLAB-metoderna, som gör det nödvändigt att hålla sig med metoder som gör felskattning möjlig. Det finns två noggrannhetsparametrar att bolla med: RelTol, som ger relativa noggrannheten (och är 10 3 om man inte begär något annat) och AbsTol, som ger absoluta noggrannheten (10 6 som standard). Man sätter sina egna värden på parametrarna med hjälp av programmet odeset på det sätt som jag visar i exemplet här nedan. Det finns en rekommation för tillförlitlighetsbedömning, nämligen att ändra noggrannhetsparametrarna så att man får successivt noggrannare värden. Tanken är att man kan lita på de siffror som inte ändras när man ökar noggrannheten. I åtskilliga, för att inte säga de flesta, fall är denna tanke riktig. Därför är det så mycket viktigare att veta att den kan leda helt fel.

12 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 44) EXEMPEL 3 Differentialekvationen y = 6y/x; y(x 0 ) = x 6 0 ; har lösningen y(x) = x6. Vi önskar med ode45 beräkna y(2). Eftersom vi vet att det riktiga värdet är 2 6 dvs 64, så kan vi se hur ode45 sköter sig. Jag varierar både RelTol och AbsTol mellan 10 3 och 10 11, och matar ut värdet för y(2). function yprim=x6dif(x,y) yprim=6*y/x; x0=0.001; y0=x0^6; xslut=2; tol=0.01; disp( tolerans y(2) ) for k=3:11 tol=tol/10; noggrannhet=odeset( AbsTol,tol, RelTol,tol); [X,Y]=ode45( x6dif,[x0 xslut],y0,noggrannhet); M=length(Y); disp([tol Y(M)]) tolerans y(2) e e e e e e e e e e e e e e e e e e-07 Om jag litar på de siffror som inte ändras när toleransen ändras, kan jag väl, efter denna överdrivet hårda kontroll, inte annat än tro att y(2) = , korrekt intill sista siffran. Men, som sagt, rätta värdet är 64. Jag ska inte utan vidare påstå att Runge-Kuttas metod ger bättre resultat, men däremot får jag, med kontrollen av regelbundenhet, veta huruvida jag kan lita på resultaten. EXEMPEL 3, fortsättning Först Runge-Kuttas metod med normal steg- Samma begynnelsevärdesproblem. längd: h = 0.01, 0.01/2, 0.01/4. x0=0.001; y0=x0^6; xslut=2; Nsteg=100; for k=1:3 Nsteg=Nsteg*2; y2(k)=rkbegv( x6dif,x0,xslut,y0,nsteg) y2, deltay=diff(y2), kvot=deltay(1)/deltay(2) y2 =

13 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 45) deltay = kvot = Kvotkontrollen upplyser om att resultaten är helt åt skogen. Om jag tror på att problemet överhuvudtaget har någon lösning, så får jag här också upplysningen att steglängden måste väljas mycket mindre. Jag undersöker den möjligheten genom att på andra raden sätta Nsteg= Körningen tar rejäl tid i anspråk. Utskriften blir: y2 = deltay = kvot = Kvoten är något sånär i närheten av 16, så jag kan i det tredje värdet skatta E trunk = Om jag presenterar resultatet avrundat till 3 decimaler, y(2) = så har jag tillfört E pres = Totalfelet, summan av dessa två fel, blir lite större än , så slutsvaret får bli y(2) = ± Det är tveksamt att acceptera kvoten 13 som 16. Med ytterligare steghalveringar skulle jag få en säkrare kvotkontroll (och en bättre felgräns). Stabilitet och instabilitet Lösningen till en första ordningens differentialekvation, y = f(x, y) är en hel skara kurvor. Entydighet får man först när man har gett ett villkor som fastlägger genom vilken punkt kurvan ska gå, dvs vilken av kurvorna i skaran man ska välja. Rent allmänt menar man med stabilitet att lösningen till ett problem inte är känslig för små störningar i indata. Omvänt innebär instabilitet att lösningen är överkänslig för små störningar i indata. Om det problem som den här utsagan syftar på, är begynnelsevärdesproblemet, så är indata begynnelsevillkoret. Om problemet är den numeriska behandlingen, så kan till indata räknas även steglängd. Eftersom det finns dessa två grundtyper av instabilitet är det lämpligt att hålla isär begreppen: (in-)stabilitet hos det matematiska problemet respektive (in-)stabilitet hos den numeriska metoden. Vi börjar med ett exempel på instabilitet hos en välkänd numerisk metod: EXEMPEL 4 Bestäm y(3) när y satisfierar begynnelsevärdesproblemet y = 100(y sin x), y(0) = 0. Jag använder Runge-Kuttas metod, med steglängder h = 0.015, 0.020, och

14 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 46) function f=fex4(x,y) f=100*(sin(x)-y); for h=0.001*[15:5:30], N=round(3/h); h, y=rkbegv( fex4,0,3,0,n) disp( ********** ), h = y = ********** h = y = ********** h = y = ********** h = y = e+11 ********** Uppenbarligen är det sista värdet helt fel. Vi måste omedelbart skaffa oss ett redskap som förklarar så underliga resultat: Undersökning med hjälp av testekvationen Man kommer häpnadsväckande många intressanta saker på spåren med hjälp av en mycket enkel differentialekvation, den så kallade testekvationen: y = qy; y(0) = 1. Med negativt värde på q är den sanna lösningen, y = e qx, avtagande. För en metod för behandling av differentialekvationer, y n+1 = y n + h F(x n, y n ) kan man genomföra den enkla undersökningen: För vilka värden på h q är den numeriska lösningen till testekvationen avtagande? Det kan låta som ett minimalt krav: att metoden ger avtagande lösning som approximation till en avtagande funktion. Trots det leder kravet ganska långt.

15 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 47) För vilka värden på h q ger Eulers metod avtagande lösning till ekvationen? ÖVNING Gör motsvarande undersökning för Runge-Kuttas metod. Jag ska varna för att övningen är betydligt besvärligare än undersökningen av Eulers metod. Resultatet är att hq ska ligga i intervallet 2.79 < hq < 0. Ett noggrannare värde på vänstra gränsen är Man säger att den numeriska metoden är stabil för de värden på hq som ger avtagande lösning, och instabil för övriga hq. När man istället ägnar sig åt problemet y = f(x, y); y(a) = c så kommer derivatan f att spela den roll som q har i testekvationen. y I Exempel 4 är f y = 100. Runge Kuttas metod är därför stabil om 2.79 < 100h < 0, dvs om h < Vi kan konstatera att gränsen för stabiliteten är kritisk: med h bara aningen större än exploderar den numeriska lösningen. Lägg märke till att instabiliteten inte uppkommer av att många små fel går samman och översvämmar den riktiga lösningen. Instabiliteten beror enbart på att värdena i talföljden y n växer, en egenskap som inte har någonting med felen att göra. Men om dessutom fel uppkommer under beräkningsstegen, så multipliceras även dessa med en faktor större än 1 i varje steg. Så ska vi studera begreppet (in-)stabilitet hos det matematiska problemet. Då menar man den sanna lösningens känslighet för små störningar i indata. Betrakta de kurvskaror som löser följande två, ytligt sett likartade, differentialekvationer: (D1): y = x + y (D2): y = x y Kurv-skaran får man genom att variera begynnelsevillkoret,

16 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 48) säg y( 2) = 2 k 0.1, k = 0, 1, 2,..., 10. Jag genomför detta med MATLAB, och använder härvid ode45. Programmeringsdetaljerna är knappast intressanta. 60 y =x+y 2 y =x y Som synes avlägsnar sig lösningskurvorna från varandra i D1, när de utgår från närbelägna startpunkter. Men i D2 närmar sig lösningskurvorna varandra. Om man nu tolkar varierandet av begynnelsevillkoret som störning av indata, ser vi att D1 är känsligt för störningar (lösningskurvorna avlägsnar sig från varandra), dvs problemet D1 är instabilt. Problemet D2 är inte känsligt för störningar i begynnelsevillkoret, dvs det är stabilt. Denna typ av (in-)stabilitet ligger alltså hos det matematiska problemet, och har därför ingenting med den numeriska metodens egenskaper att göra. Trots detta är det samma storhet som ska undersökas, om man vill veta något om stabiliteten hos det matematiska problemet y = f(x, y), nämligen f y : Avgörande för stabilitet (lösningskurvor närmar sig varandra) är att f y < 0. Det kan därför vara lämpligt att före den numeriska behandlingen av en differentialekvation undersöka om den har stabila lösningar. Undersökningen är lätt avklarad om det går att bestämma tecknet på f. Men om inte detta är lätt, så finns det en grafisk y teknik att utan att lösa differentialekvationen få en allmän bild av lösningsskaran. Riktningsfältet I det område av x-y-planet som man intresserar sig för, beräknar man f(x, y) i ett (stort) antal punkter. Dessa värden upplyser om riktningen hos den lösningskurva som passerar genom den punkten. Den riktningen kan man markera med en liten pil. Den figur som då uppkommer kallas riktningsfältet till differentialekvationen. (GNM 7:1D) Så här ser det ut för D1 och D2:

17 André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 49) y =x+y y =x y Givetvis har MATLAB en inbyggd funktion för att rita riktningsfält. Den heter quiver och anropas enklast med fyra parametrar: quiver(xkoord, ykoord, pilx, pily). Här är xkoord x-koordinaterna till punkterna där pilarna ska ritas och ykoord är punkternas y-koordinater. Pilen ses som en liten vektor i x-y-planet, med x-komponent pilx och y-komponent pily. Den enklaste konstruktionen är x-komponenten = c 1 och y-komponententen = c f(x, y), där konstanten c väljs så att figuren blir snygg. Då får pilen riktningskoefficienten f(x, y). Parametrarna pilx och pily innehåller komponenterna för samtliga punkter som pilarna ska ritas i. Programmet för att rita de två figurerna ovan är mycket enkelt: xdat=-1:0.1:1; ydat= -1:0.1:1; [xg,yg]=meshgrid(xdat,ydat); px=ones(length(xdat)); fd1=xg+yg; fd2=xg-yg; figure(1), quiver(xg,yg,px,fd1), title( y =x+y ) figure(2), quiver(xg,yg,px,fd2), title( y =x-y )

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

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Differentialekvationer. Repetition av FN5 (GNM kap 6. Denna föreläsning DN1212 Numeriska metoder och grundläggande programmering FN6 09-03-17 Hedvig Kjellström hedvig@csc.kth.se Repetition av FN5 (GNM kap 6.1-2B) Differentialekvationer Standardform för begynnelsevärdesproblem

Läs mer

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

LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER. 1 Inledning. 2 Eulers metod och Runge-Kuttas metod TANA21+22/ 30 september 2016 LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER 1 Inledning Vi skall studera begynnelsevärdesproblem, både med avseende på stabilitet och noggrannhetens beroende av steglängden. Vi

Läs mer

Föreläsning 8, Numme i2,

Föreläsning 8, Numme i2, SF545, Numeriska Metoder, I, HT0, Ninni Carlsund Levin, Föreläsning 8 Föreläsning 8, Numme i, 0 GKN Kap - Differentialekvationer GNM kap 7-7), S Ch Dagens termer Riktningsfält Standardform Begynnelsevärdesproblem

Läs mer

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

f(x + h) f(x) h f(x) f(x h) h NUMPROG, D för M, vt 008 Föreläsning N: Numerisk derivering och integrering Inledning: numerisk lösning av analytiska problem Skillnader mellan matematisk analys och numeriska metoder. Grundläggande begrepp

Läs mer

Ordinära differentialekvationer,

Ordinära differentialekvationer, 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

Läs mer

Laboration 3. Funktioner, vektorer, integraler och felskattning

Laboration 3. Funktioner, vektorer, integraler och felskattning 1 SF1520 K2 HT2014 NA 21 december 2015 Laboration 3 Funktioner, vektorer, integraler och felskattning Efter den här laborationen skall du kunna använda och skriva egna funktioner med flera in- och utparametrar,

Läs mer

Sammanfattning (Nummedelen)

Sammanfattning (Nummedelen) DN11 Numeriska metoder och grundläggande programmering Sammanfattning (Nummedelen Icke-linjära ekvationer Ex: y=x 0.5 Lösningsmetoder: Skriv på polynomform och använd roots(coeffs Fixpunkt x i+1 =G(x i,

Läs mer

Laboration 3. Funktioner, vektorer, integraler och felskattning

Laboration 3. Funktioner, vektorer, integraler och felskattning 1 SF1520 VT2017 NA, KTH 16 januari 2017 Laboration 3 Funktioner, vektorer, integraler och felskattning Efter den här laborationen skall du kunna använda och skriva egna funktioner med flera in- och utparametrar,

Läs mer

a = a a a a a a ± ± ± ±500

a = a a a a a a ± ± ± ±500 4.1 Felanalys Vill man hårddra det hela, kan man påstå att det inte finns några tal i den tillämpade matematiken, bara intervall. Man anger till exempel inte ett uppmätt värde till 134.78 meter utan att

Läs mer

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

Föreläsningen ger en introduktion till differentialekvationer och behandlar stoff från delkapitel 18.1, 18.3 och 7.9 i Adams. 18. Föreläsningen ger en introduktion till differentialekvationer och behandlar stoff från delkapitel 18.1, 18.3 och 7.9 i Adams. 18.1 Delkapitlet introducerar en del terminologi och beteckningar som används.

Läs mer

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

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M TANA21+22/ 5 juli 2016 LAB 1. FELANALYS 1 Inledning I laborationerna används matrishanteringsprogrammet MATLAB. som genomgående använder dubbel precision vid beräkningarna. 1.1 Innehåll Du ska 1. bestämma

Läs mer

Numeriska metoder för ODE: Teori

Numeriska metoder för ODE: Teori Numeriska metoder för ODE: Teori Lokalt trunkeringsfel och noggrannhetsordning Definition: Det lokala trunkeringsfelet är det fel man gör med en numerisk metod när man utgår från det exakta värdet vid

Läs mer

Fel- och störningsanalys

Fel- och störningsanalys Fel- och störningsanalys 1 Terminologi Antag att x är ett exakt värde och x är en approximation av x. Vi kallar då absoluta felet i x = x x, relativa felet i x = x x x. Ofta känner vi inte felet precis

Läs mer

4 Numerisk integration och av differentialekvationer

4 Numerisk integration och av differentialekvationer Matematik med Matlab M1 och TD1 1999/2000 sid. 27 av 47 4 Numerisk integration och av differentialekvationer Redovisning redovisas som tidigare med en utdatafil skapad med diary 4.1 Numerisk av ekvationer.

Läs mer

Numeriska metoder för ODE: Teori

Numeriska metoder för ODE: Teori Numeriska metoder för ODE: Teori Målen för föreläsningen Stabilitet vid diskretisering av ODE med numeriska metoder Definition: Den analytiska lösningen till en ODE är begränsad. En numerisk metod för

Läs mer

Numeriska metoder för ODE: Teori

Numeriska metoder för ODE: Teori Numeriska metoder för ODE: Teori Vilka metoder har vi tagit upp? Euler framåt Euler bakåt Trapetsmetoden y k+ = y k + hf(t k, y k ), explicit y k+ = y k + hf(t k+, y k+ ), implicit y k+ = y k + h (f(t

Läs mer

André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 93) Trapetsregeln Adaptiva metoder ODE-metod Förbehandlande metoder

André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 93) Trapetsregeln Adaptiva metoder ODE-metod Förbehandlande metoder André Jaun, HT-25 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 93) Lektion 7 Integraler Problemformuleringen lyder: Beräkna A = Trapetsregeln Adaptiva metoder ODE-metod Förbehandlande

Läs mer

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20 Numerisk Analys - Institutionen för Matematik KTH - Royal institute of technology 2016-05-31, kl 08-11 SF1547+SF1543 TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20 Uppgift 1 Man vill lösa ekvationssystemet

Läs mer

Fel- och störningsanalys

Fel- och störningsanalys Fel- och störningsanalys Terminologi Antag att x är ett exakt värde och x är en approximation av x. Vi kallar då absoluta felet i x = x x, relativa felet i x = x x x. Ofta känner vi inte felet precis utan

Läs mer

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem Lennart Edsberg NADA 3 april 007 D11, M1 Laboration 4 A Numerisk behandling av integraler och begynnelsevärdesproblem Denna laboration ger 1 bonuspoäng. Sista bonusdatum 7 april 007 Efter den här laborationen

Läs mer

Laboration 2 Ordinära differentialekvationer

Laboration 2 Ordinära differentialekvationer Matematisk analys i en variabel, AT1 TMV13-1/13 Matematiska vetenskaper Laboration Ordinära differentialekvationer Vi skall se på begynnelsevärdesproblem för första ordningens differentialekvation u =

Läs mer

Ordinära differentialekvationer,

Ordinära differentialekvationer, (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

Läs mer

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

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning TANA18/20 mars 2015 LAB 3. INTERPOLATION 1 Inledning Vi ska studera problemet att interpolera givna data med ett polynom och att interpolera med kubiska splinefunktioner, s(x), som är styckvisa polynom.

Läs mer

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

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Runge-Kuttas metoder. Repetition av FN6 (GNM kap 6. Denna föreläsning DN1212 Numeriska metoder och grundläggande programmering FN7 09-03-23 Hedvig Kjellström hedvig@csc.kth.se! Repetition av FN6 (GNM kap 6.1G-2G)! Runge-Kuttas metoder ökad noggrannhet!

Läs mer

André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 60) Problemformulering. Använd matematik

André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 60) Problemformulering. Använd matematik André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 60) Lektion 5 Ekvationslösning Problemformulering Förarbete Använd matematik Begränsa sökområdet Rita Skriv funktionsprogram

Läs mer

Laboration 6. Ordinära differentialekvationer och glesa system

Laboration 6. Ordinära differentialekvationer och glesa system 1 DN1212 VT2012 för T NADA 20 februari 2012 Laboration 6 Ordinära differentialekvationer och glesa system Efter den här laborationen skall du känna igen problemtyperna randvärdes- och begynnelsevärdesproblem

Läs mer

Interpolation Modellfunktioner som satisfierar givna punkter

Interpolation Modellfunktioner som satisfierar givna punkter Interpolation Modellfunktioner som satisfierar givna punkter Några tillämpningar Animering rörelser, t.ex. i tecknad film Bilder färger resizing Grafik Diskret representation -> kontinuerlig 2 Interpolation

Läs mer

AUTONOMA DIFFERENTIALEKVATIONER

AUTONOMA DIFFERENTIALEKVATIONER Armin Halilovic: EXTRA ÖVNINGAR, SF676 AUTONOMA DIFFERENTIALEKVATIONER Stabilitet Fasporträtt AUTONOMA DE: Det är speciellt enkelt att rita ett riktningsfält för en ekvation av typen y F( y) (ekv) (eller

Läs mer

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem Lennart Edsberg NADA 9 mars 6 D11, M1 Laboration 4 A Numerisk behandling av integraler och begynnelsevärdesproblem Denna laboration ger 1 bonuspoäng. Sista bonusdatum 5 april 6 Efter den här laborationen

Läs mer

TANA19 NUMERISKA METODER

TANA19 NUMERISKA METODER HT2/2016 LINJE+ÅK+KLASS : TANA19 NUMERISKA METODER Laboration 1 Felanalys Namn : Personnummer : E-post : @student.liu.se Namn : Personnummer : E-post : @student.liu.se Godkänd datum : Sign : Retur : 1

Läs mer

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

DN1212 för M: Projektrapport. Krimskramsbollen. av Ninni Carlsund Författare: Ninni Carlsund DN1212-projekt: Krimskramsbollen Kursledare: Ninni Carlsund DN1212 för M: Projektrapport Krimskramsbollen av Ninni Carlsund. 2010-04-29 1 Författare: Ninni Carlsund DN1212-projekt:

Läs mer

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

Repetitionsfrågor: 5DV154 Tema 4: Förbränningsstrategier för raketer modellerade som begynnelsevärdesproblem Institutionen för datavetenskap Umeå universitet december 06 Teknisk beräkningsvetenskap I Repetitionsfrågor: 5DV54 Tema 4: Förbränningsstrategier för raketer modellerade som begynnelsevärdesproblem Del

Läs mer

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

Del I: Lösningsförslag till Numerisk analys, Lösningsförslag till Numerisk analys, 2016-08-22. Del I: (1) Nedan följer ett antal påståenden. Använd nyckelbegreppen därunder och ange det begrepp som är mest lämpligt. Skriv rätt bokstav (a)-(l) i luckan

Läs mer

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

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20. Teorifrågor Störningsanalys 1. Värdet på x är uppmätt till 0.956 med ett absolutfel på högst 0.0005. Ge en övre gräns för absolutfelet i y = exp(x) + x 2. Motivera svaret. 2. Ekvationen log(x) x/50 = 0

Läs mer

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

TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer Johan Thim 0 januari 207 Introduktion En differentialekvation (DE) i en variabel är en ekvation som innehåller både

Läs mer

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

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering SF1518,SF1519,numpbd15 LABORATION 2 Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering - Genomför laborationen genom att göra de handräkningar och MATLAB-program som begärs. Var noga med

Läs mer

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

Föreläsning 1. Numeriska metoder grundkurs II, DN1240. Carina Edlund Mottagningstid i rum 4516: onsdagar kl. Föreläsning 1 Numeriska metoder grundkurs II, DN1240 Carina Edlund carina@nada.kth.se Mottagningstid i rum 4516: onsdagar kl. 13-15 Kurshemsida: http://www.csc.kth.se/utbildning/kth/kurser/dn1240/numi09/

Läs mer

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs KTH Matematik Tentamen del 1 SF154, 1-3-3, 8.-11., Numeriska metoder, grundkurs Namn:... Bonuspoäng. Ange dina bonuspoäng från kursomgången läsåret HT15/VT1 här: Max antal poäng är. Gränsen för godkänt/betyg

Läs mer

Tentamen i Teknisk-Vetenskapliga Beräkningar

Tentamen i Teknisk-Vetenskapliga Beräkningar Umeå Universitet Institutionen för Datavetenskap Gunilla Wikström Tentamen i Teknisk-Vetenskapliga Beräkningar Tentamensdatum: 005-03- Skrivtid: 9-5 Hjälpmedel: inga Om problembeskrivningen i något fall

Läs mer

LABORATION cos (3x 2 ) dx I =

LABORATION cos (3x 2 ) dx I = SF1518,SF1519,numpbd14 LABORATION 2 Trapetsregeln, ekvationer, ekvationssystem, MATLAB-funktioner Studera kapitel 6 och avsnitt 5.2.1, 1.3 och 3.8 i NAM parallellt med arbetet på denna laboration. Genomför

Läs mer

6 Derivata och grafer

6 Derivata och grafer 6 Derivata och grafer 6.1 Dagens Teori När vi plottar funktionen f(x) = x + 1x 99x 8 med hjälp av dosan kan man få olika resultat beroende på vilka intervall man valt. 00000 100000-00 -100 100 00-100000

Läs mer

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

KTH 2D1240 OPEN vt 06 p. 1 (5) J.Oppelstrup KTH 2D1240 OPEN vt 06 p. 1 (5) Tentamen i Numeriska Metoder gk II 2D1240 OPEN (& andra) Fredag 2006-04-21 kl. 13 16 Hjälpmedel: Del 1 inga, Del 2 rosa formelsamlingen som man får ta fram när man lämnar

Läs mer

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

Tentamen, del 2 DN1240 Numeriska metoder gk II för F Tentamen, del DN140 Numeriska metoder gk II för F Fredag 14 december 01 kl 14 17 Lösningar DEL : Inga hjälpmedel. Rättas endast om del 1 är godkänd. Betygsgränser inkl bonuspoäng: 10p D, 0p C, 30p B, 40p

Läs mer

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson 2010-11-19 Plot och rekursion I denna laboration skall du lära dig lite om hur plot i MatLab fungerar samt använda

Läs mer

Konvergens för iterativa metoder

Konvergens för iterativa metoder Konvergens för iterativa metoder 1 Terminologi Iterativa metoder används för att lösa olinjära (och ibland linjära) ekvationssystem numeriskt. De utgår från en startgissning x 0 och ger sedan en följd

Läs mer

Numerisk lösning till den tidsberoende Schrödingerekvationen.

Numerisk lösning till den tidsberoende Schrödingerekvationen. Numerisk lösning till den tidsberoende Schrödingerekvationen. Det är enbart i de enklaste fallen t ex när potentialen är sträckvis konstant som vi kan lösa Schrödingerekvationen analytiskt. I andra fall

Läs mer

OH till Föreläsning 15, Numme K2, God programmeringsteknik

OH till Föreläsning 15, Numme K2, God programmeringsteknik OH till Föreläsning 15, Numme K2, 180227 Hela boken & hela kursen! God programmeringsteknik Tänk efter före: - Definiera problemet (VAD skall göras?) - Bestäm algoritm (och lagrings-struktur) - Dela upp

Läs mer

Kan du det här? o o. o o o o. Derivera potensfunktioner, exponentialfunktioner och summor av funktioner. Använda dig av derivatan i problemlösning.

Kan du det här? o o. o o o o. Derivera potensfunktioner, exponentialfunktioner och summor av funktioner. Använda dig av derivatan i problemlösning. Kan du det här? o o o o o o Vad innebär det att x går mot noll? Vad händer då x går mot oändligheten? Vad betyder sekant, tangent och ändringskvot och vad har dessa begrepp med derivatan att göra? Derivera

Läs mer

Newtons metod och arsenik på lekplatser

Newtons metod och arsenik på lekplatser Newtons metod och arsenik på lekplatser Karin Kraft och Stig Larsson Beräkningsmatematik Chalmers tekniska högskola 1 november 2004 Introduktion Denna övning ingår i Lärardag på Chalmers för kemilärare

Läs mer

4 Fler deriveringsregler

4 Fler deriveringsregler 4 Fler deriveringsregler 4. Dagens Teori Derivatan av potensfunktioner. Potensfunktioner med heltalsexponenter, som du redan kan derivera, kallas polynomfunktioner, som till exempel: f(x) = 2x4 x3 + 2x

Läs mer

Matlab övningsuppgifter

Matlab övningsuppgifter CTH/GU TMA976-28/29 Matematiska vetenskaper Matlab övningsuppgifter Inledning Vi skall först se hur man beräknar numeriska lösningar till differentialekvationer. Därefter skall vi rita motsvarigheten till

Läs mer

y y 1 = k(x x 1 ) f(x) = 3 x

y y 1 = k(x x 1 ) f(x) = 3 x Räta linjen på olika former Här ska vi bara påpeka att förutom k-form, den som vi är mest vana vid y = k y + m finns också allmän form: ax + by + c = 0 där a och b är konstanter, som inte någon står för

Läs mer

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna Lösningsanvisningar till de icke obligatoriska workoutuppgifterna Linjära system 7. (a) Falskt. Kondition är en egenskap hos problemet oberoende av precisionen i beräkningarna. (b) Falskt. Pivotering påverkar

Läs mer

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Teknisk databehandling Per Wahlund, tel. 471 2986 Tentamen i Beräkningsvetenskap II, 5.0 hp, 2012-05-31 Skrivtid: 14 00 17 00 (OBS! Tre timmars

Läs mer

Läsanvisningar till kapitel 6 i Naturlig matematik. Avsnitt 6.6 ingår inte.

Läsanvisningar till kapitel 6 i Naturlig matematik. Avsnitt 6.6 ingår inte. Läsanvisningar till kapitel 6 i Naturlig matematik Avsnitt 6.6 ingår inte. Avsnitt 6.1 Detta avsnitt illustrerar hur sekanten övergår i en tangent genom att den ena skärningspunkten rör sig mot den andra.

Läs mer

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

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Teknisk databehandling Tentamen i Beräkningsvetenskap I/KF, 5. hp, 215-3-17 Skrivtid: 14 17 (OBS! Tre timmars skrivtid!) Hjälpmedel: Bifogat

Läs mer

MAA7 Derivatan. 2. Funktionens egenskaper. 2.1 Repetition av grundbegerepp

MAA7 Derivatan. 2. Funktionens egenskaper. 2.1 Repetition av grundbegerepp MAA7 Derivatan 2. Funktionens egenskaper 2.1 Repetition av grundbegerepp - Det finns vissa begrepp som återkommer i nästan alla kurser i matematik. Några av dessa är definitionsmängd, värdemängd, största

Läs mer

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

SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen 16-8-18 DEL A 1. Låt D vara det område ovanför x-axeln i xy-planet som begränsas av cirkeln x + y = 1 samt linjerna y = x och y =

Läs mer

Labb 3: Ekvationslösning med Matlab (v2)

Labb 3: Ekvationslösning med Matlab (v2) Envariabelanalys Labb 3: Ekvationslösning 1/13 Labb 3: Ekvationslösning med Matlab (v2) Envariabelanalys 2007-03-05 Björn Andersson (IT-06), bjoa@kth.se Johannes Nordkvist (IT-06), nordkv@kth.se Det finns

Läs mer

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

Uppgift 1 R-S. Uppgift 2 R-M. Namn:... 2D121, Numeriska Metoder, Grundkurs för I2+CL2. Laboration 3: Interpolation och integration Sista redovisningsdag för bonuspoäng: måndag 26-3-27 Obs! Muntliga delen redovisas vid ett miniseminarium. Notera!

Läs mer

Funktionsstudier med derivata

Funktionsstudier med derivata Funktionsstudier med derivata Derivatan ett kraftfullt verktyg för att studera och tolka funktioner Det här avsnittet handlar om att man kan använda derivatan till att bestämma en funktions egenskaper

Läs mer

DERIVATA. = lim. x n 2 h h n. 2

DERIVATA. = lim. x n 2 h h n. 2 DERIVATA Läs avsnitten 6.-6.5. Lös övningarna 6.cd, 6.2, 6.3bdf, 6.4abc, 6.5bcd, 6.6bcd, 6.7, 6.9 oc 6.. Läsanvisningar Allmänt gäller som vanligt att bevisen inte ingår i kursen, men det är mycket nyttigt

Läs mer

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

Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A. 1. (a) ODE-systemet kan skrivas på formen Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, 2013-03-18 Del A 1. (a) ODE-systemet kan skrivas på formen z (t) = f(t, z), där z(t) = x(t) y(t) u(t) v(t), f(t, z) = u(t) v(t) kx(t)/ ( x2 (t)

Läs mer

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

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x). Kapitel 5 Fixpunktsiteration 5.1 Fixpunktsekvation En algebraisk ekvation kan skrivas på följande två ekvivalenta sätt (vilket innebär att lösningarna är desamma). 1. f(x) = 0. En lösning x kallas en rot

Läs mer

TANA19 NUMERISKA METODER

TANA19 NUMERISKA METODER HT2/2016 LINJE+ÅK+KLASS : TANA19 NUMERISKA METODER Laboration 4. Differentialekvationer Namn : Personnummer : E-post : @student.liu.se Namn : Personnummer : E-post : @student.liu.se Godkänd datum : Sign

Läs mer

Institutionen för matematik KTH. Tentamensskrivning, , kl B1210 och 5B1230 Matematik IV, för B, M, och I.

Institutionen för matematik KTH. Tentamensskrivning, , kl B1210 och 5B1230 Matematik IV, för B, M, och I. Institutionen för matematik KTH Tentamensskrivning, 23--9, kl 4 9 5B2 och 5B23 Matematik IV, för B, M, och I Hjälpmedel: BETA, Mathematics Handbook För godkänt betyg 3 krävs 7 poäng, medan för betyg 4

Läs mer

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

Tentamen, del 2 Lösningar DN1240 Numeriska metoder gk II F och CL Tentamen, del Lösningar DN140 Numeriska metoder gk II F och CL Lördag 17 december 011 kl 9 1 DEL : Inga hjälpmedel Rättas ast om del 1 är godkänd Betygsgränser inkl bonuspoäng: 10p D, 0p C, 30p B, 40p

Läs mer

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Beräkningsvetenskap Per Lötstedt, tel. 471 2986 Ken Mattsson, tel 471 2975 Tentamen i Beräkningsvetenskap II, 5.0 hp, 2015-06-02 Skrivtid: 14

Läs mer

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.

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. Bestäm den lösning till differentialekvationen Ange även lösningens eistensintervall SF6 Differentialekvationer I MODULUPPGIFTER Första ordningens differentialekvationer med modeller d d y ( ) = y 2, som

Läs mer

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

Kurs DN1215, Laboration 3 (Del 1): Randvärdesproblem för ordinära differentialekvationer 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

Läs mer

Icke-linjära ekvationer

Icke-linjära ekvationer stefan@it.uu.se Exempel x f ( x = e + x = 1 5 3 f ( x = x + x x+ 5= 0 f ( x, y = cos( x sin ( x + y = 1 Kan endast i undantagsfall lösas exakt Kan sakna lösning, ha en lösning, ett visst antal lösningar

Läs mer

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

(a) Skriv en matlabsekvens som genererar en liknande figur som den ovan. Matematik Chalmers tekniska högskola 2014-08-27 kl. 08:30-12:30 Tentamen MVE355, Programmering och numeriska beräkningar med matlab. Ansvarig: Katarina Blom, tel 772 10 97. Plats: L Inga hjälpmedel. Kalkylator

Läs mer

Laboration: Grunderna i Matlab

Laboration: Grunderna i Matlab Laboration: Grunderna i Matlab Att arbeta i kommandofönstret och enkel grafik Den här delen av laborationen handlar om hur man arbetar med kommandon direkt i Matlabs kommandofönster. Det kan liknas vid

Läs mer

Omtentamen i DV & TDV

Omtentamen i DV & TDV Umeå Universitet Institutionen för Datavetenskap Gunilla Wikström (e-post wikstrom) Omtentamen i Teknisk-Vetenskapliga Beräkningar för DV & TDV Tentamensdatum: 2006-06-05 Skrivtid: 9-15 Hjälpmedel: inga

Läs mer

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

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 ( )( Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, 2012-03-09 Del A 1. (a) För att anpassa ett polynom som går genom tre punkter behövs ett andragradspolynom. Newtons interpolationsansats ger f(x)

Läs mer

Ickelinjära ekvationer

Ickelinjära ekvationer Löpsedel: Icke-linjära ekvationer Ickelinjära ekvationer Beräkningsvetenskap I Varför är det svårt att lösa icke-linjära ekvationer? Iterativa metoder Bisektion/intervallhalvering Newton-Raphsons metod

Läs mer

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

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Avdelningen för beräkningsvetenskap Tentamen i Beräkningsvetenskap I och KF, 5.0 hp, 017-0-14 Skrivtid: 14 00 17 00 (OBS! Tre timmars skrivtid!)

Läs mer

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2 Numerisk Analys - Institutionen för Matematik KTH - Royal institute of technology 218-5-28, kl 8-11 SF1547 TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2 Rättas endast om del 1 är godkänd. Betygsgräns

Läs mer

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664 LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664 Tillämpad envariabelanalys med numeriska metoder för CFATE1 den 1 mars 214 kl 8.-1. 1. Bestäm värdemängden till funktionen f(x) = 2 arctan x + ln (1 + x 2 ), där

Läs mer

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab TAIU07 Matematiska beräkningar med Matlab Laboration 3. Linjär algebra Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion 2 En Komet Kometer rör sig enligt ellipsformade

Läs mer

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Beräkningsvetenskap Per Lötstedt, tel. 47 2986 Saleh Rezaeiravesh Tentamen i Beräkningsvetenskap II, 5.0 hp, 206-0-4 Skrivtid: 4 00 7 00 (OBS!

Läs mer

Linjära system av differentialekvationer

Linjära system av differentialekvationer CTH/GU STUDIO TMV036c - 0/03 Matematiska vetenskaper Linjära system av differentialekvationer Analys och Linjär Algebra, del C, K/Kf/Bt Inledning Vi har i tidigare studioövningar sett på allmäna system

Läs mer

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Teknisk databehandling Per Wahlund, tel. 471 2986 Tentamen i Beräkningsvetenskap II, 5.0 hp, 2012-01-11 Skrivtid: 14 00 17 00 (OBS! Tre timmars

Läs mer

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

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen? Block 5: Ickelineära ekvationer Löpsedel: Icke-lineära ekvationer Varför är det svårt att lösa ickelineära ekvationer? Iterativa metoder Bisektion/intervallhalvering Newton-Raphsons metod Noggrannhet/stoppvillkor

Läs mer

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare Karlstads universitet 19-0 april Exempel på elevaktiviteter framtagna i skolutvecklingsprojektet IKT och lärande i matematik 1

Läs mer

Mälardalens högskola Akademin för utbildning, kultur och kommunikation

Mälardalens högskola Akademin för utbildning, kultur och kommunikation Mälardalens högskola Akademin för utbildning, kultur och kommunikation MAA24 Grundläggande kalkyl ÖVN2 Lösningsförslag 202.08.09 08.30 0.30 Hjälpmedel: Endast skrivmaterial. (Gradskiva är tillåtet.) Poäng:

Läs mer

Sidor i boken f(x) = a x 2 +b x+c

Sidor i boken f(x) = a x 2 +b x+c Sidor i boken 18-151 Andragradsfunktioner Här ska vi studera andragradsfunktionen som skrivs f(x) = ax +bx+c där a, b, c är konstanter (reella tal) och där a 0. Grafen (kurvan) till f(x), y = ax + bx +

Läs mer

Linjärisering och Newtons metod

Linjärisering och Newtons metod CTH/GU STUDIO 5 TMV36a - 214/215 Matematiska vetenskaper 1 Inledning Linjärisering och Newtons metod Vi skall fortsätta med att lösa ekvationer. I förra studioövningen såg vi på intervallhalveringsmetoden.

Läs mer

Ordinära differentialekvationer (ODE) 1 1

Ordinära differentialekvationer (ODE) 1 1 TMV151/TMV181 Matematisk analys i en variabel M/TD 2009 Ordinära differentialekvationer (ODE) 1 1 I förra datorövningen löste vi begynnelsvärdesproblem av formen u (x) = f(x), x [0, b] (b > 0) u(0) = u

Läs mer

Datoraritmetik. Från labben. Från labben. Några exempel

Datoraritmetik. Från labben. Från labben. Några exempel Datoraritmetik Beräkningsvetenskap I Från labben Två huvudtyper av fel: diskretiseringsfel och avrundningsfel Olika sätt att mäta fel: relativt fel, absolut fel Begreppen ε M, Inf, NaN, overflow, underflow,

Läs mer

SF1625 Envariabelanalys Lösningsförslag till tentamen

SF1625 Envariabelanalys Lösningsförslag till tentamen SF1625 Envariabelanalys Lösningsförslag till tentamen 216-6-1 1. Derivera nedanstående funktioner med avseende på x och ange för vilka x derivatan existerar. Endast svar krävs. A. f(x) = arctan 1 x B.

Läs mer

OH till Föreläsning 14, Numme I2, God programmeringsteknik

OH till Föreläsning 14, Numme I2, God programmeringsteknik OH till Föreläsning 4, Numme I2, 722 Hela boken & hela kursen! God programmeringsteknik Tänk efter före: - Definiera problemet (VAD skall göras? - Bestäm algoritm (och lagrings-struktur - Dela upp i små

Läs mer

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x Mathematica Första kapitlet kommer att handla om Mathematica det matematiska verktyg, som vi ska lära oss hantera under denna kurs. Indata När du arbetar med Mathematica ger du indata i form av kommandon

Läs mer

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

Sammanfattning av föreläsning 11. Modellbygge & Simulering, TSRT62. Föreläsning 12. Simulering. Föreläsning 12. Numeriska metoder och Simulering Sammanfattning av föreläsning 11 Modellbygge & Simulering, TSRT62 Föreläsning 12. Simulering Reglerteknik, ISY, Linköpings Universitet Index för en DAE Antalet derivationer som behövs för att lösa ut ż

Läs mer

Sekant och tangent Om man drar en rät linje genom två punkter på en kurva får man en sekant. (Den gröna linjen i figuren).

Sekant och tangent Om man drar en rät linje genom två punkter på en kurva får man en sekant. (Den gröna linjen i figuren). Derivata Sekant oc tangent Om man drar en rät linje genom två punkter på en kurva får man en sekant. (Den gröna linjen i figuren). I figuren ovan finns även en tangent inritad. Som nästa ska vi titta på

Läs mer

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

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration 10 februari 2017 Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration Syfte med övningen: Introduktion till ett par numeriska metoder för lösning av ekvationer respektive

Läs mer

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

FÖRSÄTTSBLAD TILL TENTAMEN. ELLER (fyll bara i om du saknar tentamenskod): Datum: 16 januari Bordsnummer: FÖRSÄTTSBLAD TILL TENTAMEN Din tentamenskod (6 siffror): ELLER (fyll bara i om du saknar tentamenskod): Personnummer: - Datum: 16 januari 2013 Kursens namn (inkl. grupp): Beräkningsvetenskap I (1TD393)

Läs mer

MMA127 Differential och integralkalkyl II

MMA127 Differential och integralkalkyl II Mälardalens högskola Akademin för utbildning, kultur och kommunikation MMA17 Differential och integralkalkyl II Tentamen Lösningsförslag 9..19 8. 11. Hjälpmedel: Endast skrivmaterial (gradskiva tillåten).

Läs mer

Introduktion till MATLAB

Introduktion till MATLAB 29 augusti 2017 Introduktion till MATLAB 1 Inledning MATLAB är ett interaktivt program för numeriska beräkningar med matriser. Med enkla kommandon kan man till exempel utföra matrismultiplikation, beräkna

Läs mer

Partiella differentialekvationer av första ordningen

Partiella differentialekvationer av första ordningen Partiella differentialekvationer av första ordningen Kjell Holmåker 23 februari 2005 En kvasilinjär partiell differentialekvation av första ordningen är av formen P (x, y, u)u x + Q(x, y, u)u y = R(x,

Läs mer