Laboration 3. Funktioner, vektorer, integraler och felskattning

Relevanta dokument
Laboration 3. Funktioner, vektorer, integraler och felskattning

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

LABORATION cos (3x 2 ) dx I =

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

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

Laboration 6. Ordinära differentialekvationer och glesa system

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

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

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

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

TAIU07 Matematiska beräkningar med Matlab

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

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

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

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

TMA226 datorlaboration

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

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

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

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

Sammanfattning (Nummedelen)

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

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

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

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

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

Beräkning av integraler

Newtons metod och arsenik på lekplatser

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

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

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

SF1625 Envariabelanalys Lösningsförslag till tentamen

Tentamen i Beräkningsvetenskap I (1TD393)

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

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

SF1669 Matematisk och numerisk analys II Bedömningskriterier till tentamen Måndagen den 16 mars 2015

f (a) sin

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

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

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

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

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Gruppuppgifter 1 MMA132, Numeriska metoder, distans

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

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

2D1240, Numeriska metoder gk2 för F2 och CL2 MATLAB-introduktion, minstakvadratmetoden, differensapproximationer,

SF1625 Envariabelanalys Tentamen Lördagen den 11 januari, 2014

Rapportexempel, Datorer och datoranvändning

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

DN1212+DN1214+DN1215+DN1240+DN1241+DN1243 mfl Lördag , kl 9-12 Tentamen i Grundkurs i numeriska metoder Del 1 (av 2)

DATORLABORATION FÖR KURSEN ENVARIABELANALYS 2

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.

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

Introduktion till MATLAB

R AKNE OVNING VECKA 2 David Heintz, 13 november 2002

DN1212+DN1214+DN1215+DN1240+DN1241+DN1243 mfl Tentamen i Grundkurs i numeriska metoder Del 2 (av 2) Lördag , kl 9-12

Introduktion till Matlab

TANA19 NUMERISKA METODER

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

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Laboration 2, M0043M, HT14 Python

Laboration: Grunderna i MATLAB

MMA132: Laboration 2 Matriser i MATLAB

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

Ordinära differentialekvationer,

Sammanfattninga av kursens block inför tentan

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

Laboration: Grunderna i Matlab

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

Tentamen i Teknisk-Vetenskapliga Beräkningar

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

NATIONELLT KURSPROV I MATEMATIK KURS D HÖSTEN Del I, 9 uppgifter utan miniräknare 3. Del II, 8 uppgifter med miniräknare 6

Omtentamen i DV & TDV

4 Numerisk integration och av differentialekvationer

Preliminärt lösningsförslag till del I, v1.0

Planering för Matematik kurs D

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

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

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

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

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

x) 3 = 0. 1 (1 + 2x) Bestäm alla reella tal x som uppfyller att 0 x 2π och att tangenten till kurvan y = sin(cos(x)) är parallell med x-axeln.

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

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

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

Flervariabelanalys och Matlab Kapitel 3

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

Ickelinjära ekvationer

Kap 5.7, Beräkning av plana areor, rotationsvolymer, rotationsareor, båglängder.

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

Introduktion till Matlab

Betygskriterier Matematik D MA p. Respektive programmål gäller över kurskriterierna

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

Transkript:

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, och hantera vektorer. Du kan göra olika typer av kurvanpassningar och kan uppskatta lösningsnoggrannheten och du kan skatta integraler Läsanvisning: GNM: kap 2,5. PEng: Kap 5-8. 1. Funktions-motion Skapa en funktion för f(x) = exp(x) x 3, kalla den funk1. Skapa sedan flera (minst 2) egna funktioner med namn och utseenden som du väljer själv. De skall alla vara funktioner av en variabel och ligga på separata filer med lämpliga namn. Du skall nu skriva ett program som skall kunna tabellera, plotta och integrera funktioner. Det skall först fråga efter namnet på funktionen. (Programmet får inte i förväg veta funktionernas namn. Programmet skall också fungera för Matlabs inbyggda funktioner, som tex sin och log.) Sedan skall programmet upprepat för denna funktion erbjuda tabellering, uppritning, integration och/eller nollställesökning med hjälp av en meny. Man kan sedan byta funktion och fortsätta med den nya funktionen på samma sätt. Programmet skall fortsätta tills man väljer att avsluta. Dialogen kan se ut enligt nedan Vad heter funktionen? funk1 Ditt val: 1 Tabellering: Vilket är undre gräns? 1 Vilket är övre gräns? 3 Vilket steg? 0.5 x f(x) 1.0000 1.7183 1.5000 1.1067 2.0000-0.6109

2 2.5000-3.4425 3.0000-6.9145 Ditt val: 4 Finna nollställe: Ange ett startvärde: 2 Ett nollställe är x = 1.8572 Ditt val: 5 Välja ny funktion: Vad heter den nya funktionen? sin Ditt val: 4 Finna nollställe: Ange ett startvärde: 6.3 Ett nollställe är

3 x = 6.2832 Ditt val: 6 Tack och hej! Provkör ditt program med flera olika funktioner. (Ledning: Du måste alltså läsa in namnet på funktionen. För att sedan anropa funktionen rekommenderas tex Matlab-funktionerna feval eller str2func.) 2. Varmast På filen vintersol.m finns mätdata som visar temperaturen vid ett antal olika tillfällen under ett vinterdygn. a) Skriv ett program som läser in data från filen och sedan skattar dygnets högsta temperatur med en lämpligt vald metod. (Anpassa en lämplig kurva till mätdata och beräkna kurvans minsta värde.) Vid redovisningen får du motivera varför ni valt den metod ni valt. Tag rejäl hänsyn till mätnoggrannheten! (Här finns många rimliga val och överväganden att göra!). OBS! Inläsning av rådata sker här lättast genom att köra data-filen. Den är en m-fil! Att skriva av (kopiera in) siffrorna i sitt eget program är inte godkänt. Låt programmets redovisning av resultatet också innehålla en beskrivande plot. Denna uppgift kan lösas på många olika sätt! Välj en lämplig metod. Förklara vid redovisningen varför du valt just den metod du valt! Du skall kunna försvara ditt val! b) Varför skall du inte skriva av/kopiera in siffrorna i ditt eget program? c) Om de givna temperaturerna antas ha avrundats till en decimal, hur stor inverkan kan detta ha på din beräknade maxtemperatur? (alltså: beräkna hur stort tabellfelet är i din beräknade maxtemperatur).

4 3. Enkel integral Beräkna följande integral (a) analytiskt. I = 9 1 x 5 dx Lös sedan integralen numeriskt med papper och penna och miniräknare med (b) trapetsregeln och steglängderna h = 8, h = 4 och h = 2 (c) gör Richardson-extrapolation på de tre trapetsregelvärdena ovan. (d) Utgå från dina erhållna värden i uppgift b och c ovan (inte a!). Skatta ur dem ett så bra numeriskt värde på integralen du kan (inklusive en numeriskt skattad felgräns). (e) Jämför nu med det analytiska värdet du tog fram i uppgift a. Stämmer det? (f) Gör nu ännu en trapetsregelberäkning (med h=1) och gör nu upprepad Richardsonextrapolation (dvs beräknaˆt). Vad händer? Varför? Har det att göra med att h = 1? Lös sedan integralen numeriskt med datorn och (g) trapetsregeln, (valfria steglängder, dock minst 5 st (fler steglängder ger en mer lättolkad plott!)) (h) trapetsregeln följd av richardson-extrapolation (pröva minst 1 upprepning, gärna fler). (i) Undersök hur trunkeringsfelet, E h, beror av steglängden, h, genom att plotta felet i deluppgifterna g och h som funktion av steglängen. Använd gärna MATLABs kommando loglog för plottarna. Uppskatta metodernas noggrannhetsordning, p, med hjälp av dessa plottar. För en metods noggrannhetsordning gäller E h = I analyt I approx (h) konstant h p däri approx (h) är det numeriskt uträknade integralvärdet med först bara trapetsregeln och sedan trapetsregeln följt av richardson-extrapolationen och I analyt är det analytiskt uträknade integralvärdet. Stämmer detta med vad som gäller för felen enligt formlerna i kursboken? (j) Illustrera integralens värde genom att färga arean under kurvan grön. (Hint: fill).

5 4. Integral Vi vill skatta integralen I = 2π 0 x π ( 9e 0.0006 )2 dx med MATLAB-program. Integralen kan skattas analytiskt med minst tio decimaler med värdet I ref = 0.0054 π. Använd detta värde som referensvärde. Börja skatta integralen över hela intervallet med MATLABs quad eller integral. Börja med standard-toleransen. Sätt sedan hårdare tolerans. Stämmer det med refensvärdet? Lös sedan integralen med trapetsregeln. Börja med att dela intervallet i 20 delar. Hur mycket och varför skiljer sig integralvärdet från referensvärdet? Halvera sedan steglängden i trapetsregeln tills dess att I ref I trap 10 8. Hur många halveringar behövde du? Hur många funktionsevalueringar har trapetsregeln gjort? Hur många funktionsevalueringar gjorde quad? Vilken av metoderna har använt flest funktionsevalueringar? Varför? (Tips: Om du gör anropet [I_quad,fnceval]=quad( fun_name,a,b,tol) när du använder quad så innehåller variabeln fnceval antalet funktionsevalueringar quad har använt vid beräkningen av resultatet. För trapetsregeln kan du titta på steglängden, i hur många punkter har integranden beräknats?) 5. Krympt integral Byt nu ut övre gränsen i föregående uppgift från 2π till 6. a) Skatta för hand, en övre gräns för hur mycket integralvärdet maximalt kan ha ändrats när intervallet krymptes. Justera sedan ditt referensvärde så mycket som behövs. b) Beräkna sedan integralen numeriskt med de tre metoderna (dvs quad, integral och trapetsregeln), med ett trunkeringfel på högst 10 8. Hur många funktionsevalueringar behövdes med respektive metod? Vilken metod föredrar du? Varför? c) Frivillig: Hur få funktionsevalueringar kan du komma ned till och ändå få rätt svar med minst 8 decimaler (jämfört med referensvärdet)? (Tips: Se till att ditt program beräknar rätt integralvärde) 6. Kombo Läsanvisning: GNM Kap X+Y (vilka två kapitel är det?) a) Bestäm ett positivt k (dvs k > 0) med minst 8 säkra decimaler så att 5 0 e k(x 4)2 k +x dx = 1 k2 /4 (med en effektiv algoritm). b) Finns det mer än en lösning med positivt k? c) Hur många funktionsfiler bör ditt program ha? Vilka då? Hur ser de ut?

6 d) Hur tog du fram ett startvärde till ditt program? Har du kommit på ett bättre sätt nu efter att du löst uppgiften? Om så, vilket sätt är det? Tips: Börja med att strukturera problemet. Vilka delproblem behöver lösas och vilka numeriska metoder är tillämpliga? Vilka kapitel i boken beskriver dessa numeriska metoder? Inför lämpliga beteckningar och formulera en algoritm. Fundera sedan på hur trunkeringsfelen i metoderna bidrar till felgränsen för det som söks. Lämpliga startvärden erhålles förslagsvis med trial-and-error. / NC /