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

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Ordinära differentialekvationer,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Numeriska metoder för ODE: Teori

Ordinära differentialekvationer,

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Numeriska metoder för ODE: Teori

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

Föreläsning 5. Approximationsteori

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Sammanfattning (Nummedelen)

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Interpolation. 8 december 2014 Sida 1 / 20

Interpolation Modellfunktioner som satisfierar givna punkter

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

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

Numerisk Analys, MMG410. Lecture 13. 1/58

Numerisk Analys, MMG410. Lecture 12. 1/24

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

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

Numeriska metoder för ODE: Teori

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

OH till Föreläsning 5, Numme K2, Läsa mellan raderna. Allmän polynom-interpolation, S Ch 3.1.0

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

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

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

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

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

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

OH till Föreläsning 5, Numme K2, GNM Kap 4-4.4A / GKN Kap 4.1A,(D),E Interpolation. Läsa mellan raderna. Allmän polynom-interpolation

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

Laboration 2 Ordinära differentialekvationer

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Ordinära differentialekvationer, del 1

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Omtentamen i DV & TDV

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Facit Tentamen i Beräkningsvetenskap I (1TD393 - nya versionen, 5hp!)

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

ELLER (fyll bara i om du saknar tentamenskod): Datum: 32 maj Bordsnummer: Kontrollera att du fått rätt tentamensuppgifter

Linjär Algebra och Numerisk Analys TMA 671, Extraexempel

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

Tentamen i Teknisk-Vetenskapliga Beräkningar

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

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

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

Teknisk beräkningsvetenskap I 5DV154

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

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

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

Laboration 6. Ordinära differentialekvationer och glesa system

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Matlab övningsuppgifter

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

Tentamen i Beräkningsvetenskap I (1TD393)

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

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

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

2D1250 Tillämpade numeriska metoder II

Omtentamen i DV & TDV

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

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

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

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

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

2D1212 NumProg för P1, VT2006 PROJEKTUPPGIFT

FÖRSÄTTSBLAD TILL TENTAMEN

TMA226 datorlaboration

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

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

F 4 Ch Numerisk integration, forts.; Ch.4 Numerisk derivering.

ODE av andra ordningen, och system av ODE

TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA671

Lösningsförslag till tentamensskrivningen i Numerisk analys

Rapportexempel, Datorer och datoranvändning

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Torsdag 28 aug 2008 TID:

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Felfortplantning och kondition

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

ELLER (fyll bara i om du saknar tentamenskod): Datum: 32 maj Bordsnummer: Kontrollera att du fått rätt tentamensuppgifter

Polynomanpassning i MATLAB

Tentamen: Numerisk Analys MMG410, GU

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

Laboration 3. Funktioner, vektorer, integraler och felskattning

Laboration 3. Funktioner, vektorer, integraler och felskattning

) + γy = 0, y(0) = 1,

Transkript:

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) = b 1 + b 2 (x x 1 ) + b 3 (x x 1 )(x x 2 ), där b 1, b 2 och b 3 entydigt bestäms av mätvärderna. Låt x 1 = 1.0, x 2 = 1.5, x 3 = 2 och f(x 1 ) = 0.26, f(x 2 ) = 0.29, f(x 3 ) = 0.31 från den givna tabellen i uppgiften. Använd sedan ansatsen f(x 1 ) för att räkna ut värdet på b 1 0.26 = f(x 1 ) = b 1 b 1 = 0.26, f(x 2 ) för att räkna ut värdet på b 2 0.29 = f(x 2 ) = b 1 + b 2 (x 2 x 1 ) = 0.26 + b 2 (1.5 1.0) 0.29 0.26 b 2 = 1.5 1.0 = 0.06, och f(x 3 ) för att räkna ut värdet på 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 ) = 0.26 + 0.06(2.0 1.0) + b 3 (2.0 1.0)(2.0 1.5 0.31 0.26 0.06(2.0 1.0) b 3 = = 0.02. (2.0 1.0)(2.0 1.5) 1

Man kan också formulera problemet genom att ställa upp interpolationsvillkoren som ett ekvationssystem med undertriangulär koeffiecientmatris, 1 0 0 1 (x 2 x 1 ) 0 1 (x 3 x 1 ) (x 3 x 2 )(x 3 x 1 ) b 1 b 2 b 3 som med insatta värden blir: 1 0 0 b 1 0.26 1 0.5 0 b 2 = 0.29. 1 1.0 0.5 b 3 0.31 = Detta system kan lösas genom framåtsubstitution och vi får samma lösning som med det tidigare redovisade angreppssättet. Newtons interpolationspolynom blir: f(x 1 ) f(x 2 ), f(x 3 ) f(x) = 0.26+0.06 (x 1.0) 0.02 (x 1.0) (x 1.5). (b) För att interpolera med ett polynom genom 30 punkter behövs ett polynom av grad 29. Detta riskerar att ge upphov till det så kallade Runges fenomen, alltså att polynomet kommer att ge en bra approximation i mitten av intervallet men oscillera kraftigt närmare ränderna. 2. (a) Tillämpa Euler framåt på testekvationen, y (t) = λy(t), ger y i+1 = y i + hλy i y i+1 = y i (1 + hλ). 2

Av detta följer att y i = y 0 (1 + hλ) i För stabilitet krävs alltså att (1 + hλ) i 0 då h 0. Stabilitetsvillkoret blir därför 1 + hλ < 1. (b) Styva problem kännetecknas av att när explicita metoder tillämpas på sådana problem, så krävs det mycket liten steglängd för att metoden ska vara stabil. Mycket liten steglängd medför att det blir mycket lång exekveringstid. Eftersom Euler framåt är explicit, så är det alltså olämpligt att använda den metoden om problemet är styvt. 3. (a) Funktionsfilen för högerledet: function u = f(t,y) u = cos(y+t); Huvudfilen där ODE-problemet löses genom anrop av ode45: y0 = 1; % Begynnelsevillkor t_start = 0; % Startid t_stop = 10; % Sluttid Tspan = [t_start t_stop]; [t y] = ode45(@f, Tspan, y0); 3

(b) Det sökta ordet är adaptivt. 4. (a) För en Monte Carlo - metod gäller att fel C 1 N. Därav följer att fel 10000 C 10000 och fel 20000 C 20000. Vi får fel 10000 fel 20000 (b) Stokastiska 1 10000 1 20000 = 2. Del B 5. Vi måste omformulera den matematiska modellen till den form som förutsätts i de numeriska ODE-lösare som har ingått i kursen. Till att börja med skriver vi om pendelns ekvation som ett första ordningens system av ODE. För detta inför vi en ny variabel: Insättning i pendelns ekvation ger: v (t) = 2 r (t) r(t) v(t) v(t) = θ (t). (1) g sin (θ(t)). (2) r(t) Ekvationerna (1) och (2) utgör ett första ordningens system av ODE, men systemet är inte på den form som de numeriska ODE-lösarna förutsätter. Dels har 4

vi nu två ekvationer men tre obekanta, dels finns det en derivata i högerledet i (2). Vi kan hantera båda dessa komplikationer genom att kombinera (1) och (2) med vinschningsstrategin: θ (t) = v(t) v f(t, θ(t), v(t)) (t) = 2 v(t) r(t) r (t) = f(t, θ(t), v(t)) g sin (θ(t)) r(t) Ekvationssystemet är nu på den form som förutsätts i de numeriska ODE-lösare som har ingått i kursen. Det syns tydligare om vi skriver systemet på vektorform: y (t) = F (t, y(t)), (3) där y(t) = θ(t) v(t) r(t) och F (t, y(t)) är den vektor som utgörs av högerleden i ekvationssystemet ovan. För simuleringen antar vi att det finns begynnelsedata θ(0), v(0) och r(0). För val av metod finns två förutsättningar angivna i uppgiften. Den ena är att noggrannhetsordningen måste vara större än 1. Den andra förutsättningen är att modellen inte är styv. Bland de metoder som har ingått i kursen uppfyller alla utom de två eu- 5

lermetoderna förutsättningen om noggrannhetsordning större än 1. Förutsättningen att modellen inte är styv innebär att vi kan välja en explicit metod utan att det blir nödvändigt att av stabilitetsskäl ta extremt små tidssteg. Tidsstegets storlek kommer i stället att avgöras av noggrannhetskravet, oavsett om vi väljer en explicit eller en implicit metod. Om vi jämför Heuns metod och Trapetsmetoden som båda har noggrannhetsordning 2, så bör dessa då behöva ungefär samma storlek på steglängden, det vill säga ungefär lika många beräkningspunkter. Därmed är Heuns metod att föredra, eftersom den är explicit och därför kräver mindre beräkningsarbete per punkt än Trapetsmetoden som är implicit. Slutligen är klassiska Runge-Kuttas metod explicit och har noggrannhetsordning 4. Den ger något mera beräkningsarbete per punkt än Heuns metod, men detta uppvägs med råge av att det går uppnå den önskade noggrannheten med betydligt färre steg när noggrannhetsordningen är större. Vid bedömningen av studenternas lösningar godkände vi både användning av Heuns metod och klassiska Runge-Kuttas metod samt lösningar där Matlabs kommando ode45 användes, under förutsättning att studenten gav rimliga argument för sitt val. Det krävdes att argumentationen tog upp båda de förutsättningar som nämndes i uppgiften. Däremot krävdes beträf- 6

fande styvhetsaspekten inte så utförlig argumentation som ovan, utan även betydligt mera kortfattade påståenden godkändes, exempelvis det går bra med en explicit metod eftersom problemet inte är styvt. För godkänd lösning krävdes att studenten visade formler eller matlabkod för den valda metoden, specifikt för systemet (3). Enklast är att visa detta för systemet uttryckt på vektorform. Observera att det inte går att tillämpa de nämnda metoderna på varje ekvation för sig, eftersom ekvationen då inte är på den form som förutsätts i metoden. Den numeriska metoden (eller matlabkommandot ode45) måste alltså appliceras på systemet som helhet för att det ska fungera. 6. Vi beskriver först en algoritmidé, argumenterar sedan för varför den är lämplig och visar slutligen de formler som behövs för att utveckla algoritmen mera detaljerat. Algoritmidén är: Finn heltalet i så att xcoord(i) x xcoord(i+1). Bestäm interpolationspolynomet p s (x) genom de två punkterna (xcoord(i), s(i)), (xcoord(i + 1), s(i + 1)). Bestäm interpolationspolynomet p n (x) genom de två punkterna 7

(xcoord(i), n(i)), (xcoord(i + 1), n(i + 1)). Om p s (x) y p n (x) så returneras sann annars returneras falsk. Vi argumenterar nu för att angreppssättet är lämpligt. För att avgöra om (x, y) ligger inom sjöns område behöver vi på ett eller annat sätt få en uppfattning om var sjöns strandkant finns mellan de givna punkterna. Kurvanpassning är det angreppssätt i kursen som passar för detta. Eftersom vi har två punktmängder, för södra respektive norra stranden, så kan vi tillämpa kurvanpassning på varje punktmängd för sig. Vi har att välja mellan de alternativ för kurvanpassning, som har ingått i kursen. De innebär alla att vi anpassar ett polynom till data. De övergripande angreppssätten är minstakvadratanpassning och interpolation. Eftersom de givna punkterna utgör vår markering av strandkonturen vill vi att kurvan ska gå genom de givna punkterna. Alltså är interpolation det lämpliga i detta fall (med minstakvadratanpassning får vi ett polynom som inte går igenom de givna punkterna). Interpolation genom samtliga de givna punkterna riskerar att ge upphov till Runges fenomen (kraftiga oscillationer) och därför är det lämpligare med någon form av styckvis interpolation. I det här fallet har vi inte behov av en visuellt tilltalande kurva, så det är olämpligt att lägga ned det extra 8

beräkningsarbete som kubiska splines skulle innebära. Rent allmänt kan man förmoda att strandkonturen är oregelbunden och inte ser ut som ett polynom oavsett gradtal. Därför är det lämpligast att här använda sig av styckvis lineär interpolation, som är det minst beräkningskrävande alternativet när det gäller styckvis interpolation. Algoritmidén ovan bygger på detta angreppssätt. Nu återstår att härleda de formler för p s (x) och p n (x) som angreppssättet med styckvis linär interpolation ger upphov till. Vi börjar med p s (x). Newtons interpolationsansats blir i detta fall: p s (x) = c 0 + c 1 (x xcoord(i)). Interpolationsvillkoren är: p s (xcoord(i)) = s(i) p s (xcoord(i + 1)) = s(i + 1) Om vi sätter in ansatsen i interpolationsvillkoren och löser det resulterande ekvationssystemet, så finner vi att: s(i + 1) s(i) p s (x) = s(i)+ (x xcoord(i)). xcoord(i + 1) xcoord(i) Med analogt tillvägagångssätt får vi att: n(i + 1) n(i) p n (x) = n(i)+ (x xcoord(i)). xcoord(i + 1) xcoord(i) 9

Den detaljerade algoritmen blir därmed, efter insättning av dessa formler i algoritmskissen ovan: Finn heltalet i så att xcoord(i) x xcoord(i+1). Om s(i)+ s(i+1) s(i) xcoord(i+1) xcoord(i) n(i+1) n(i) xcoord(i+1) xcoord(i) (x xcoord(i)) y n(i) + (x xcoord(i)) så returneras sann annars returneras falsk. För betyg 5 godkändes lösningar som innehöll rätt algoritmidé och där det fanns väl genomförd argumentation för att styckvis interpolation var det lämpligaste angreppssättet. Detta innebär att vi även godkände lösningar där kubiska splines rekommenderades, under förutsättning att rimliga argument för detta framfördes. Vidare godkändes lösningar där algoritmidén fanns väl utvecklad, även om de detaljerade formlerna för p s och p n inte härleddes. Lösningar som innehöll rätt algoritmidé, men där minstakvadratanpassning rekommenderades med rimlig argumentation, godkändes för betyg 4. En mycket vanlig lösning var att anta att x ingick i xcoord eller var nära något värde i xcoord och därför kunde ersättas med motsvarande xcoord-värde. Detta godkändes inte, eftersom de alternativ som bygger på kurvanpassning är lämpligare inte minst därför att de fungerar utan 10

att vi behöver förutsätta att de givna punkterna ligger mycket tätt. 11