Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Varför numeriska metoder? Vad är numeriska metoder?

Relevanta dokument
DN1212. Numeriska metoder och grundläggande programmering. för M1, 9 hp (högskolepoäng)

2D1212. Numeriska metoder och grundläggande programmering. för P1 och T1, 6 poäng

DN1212. Numeriska metoder och grundläggande programmering. för T1, 9 hp (högskolepoäng)

Välkomna till Numme och MATLAB, 9 hp, för Materialdesign och Energi&Miljö, årskurs 2

SF1513 (tidigare DN1212) Numeriska metoder och grundläggande programmering. för Bio3, 9 hp (högskolepoäng)

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

Sammanfattninga av kursens block inför tentan

DN1212. Numeriska metoder och grundläggande programmering. för P1, 9 hp (högskolepoäng)

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

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

DN1212. Numeriska metoder och grundläggande programmering. för Bio3, 9 hp (högskolepoäng)

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

DN1212. Numeriska metoder och grundläggande programmering. för P1, 9 hp (högskolepoäng)

SF1517 (tidigare DN1212) Numeriska metoder och grundläggande programmering. för P1, 9 hp (högskolepoäng)

Introduktionsföreläsning

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

SF1511 / SF1516 (tidigare DN1212) Numeriska metoder och grundläggande programmering. för K2 och M1, 9 hp (högskolepoäng)

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

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Introduktionsföreläsning

Introduktionsföreläsning. Outline. Beräkningsvetenskap I. Sara Zahedi Hanna Holmgren. Institutionen för Informationsteknologi, Uppsala Universitet

LABORATION cos (3x 2 ) dx I =

2D1214, Numeriska Metoder för S 2.

Introduktionsföreläsning. Kursens innehåll. Kursens upplägg/struktur. Beräkningsvetenskap I

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Standardform för randvärdesproblem

Numerisk Analys, MMG410. Lecture 1. 1/24

Beräkningsvetenskap. Vad är beräkningsvetenskap? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi

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

Konvergens för iterativa metoder

Tekniska beräkningar. Vad är tekn beräkningar? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi

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

Icke-linjära ekvationer

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

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

NUMERISKA METODER HT01. Energiteknik & Teknisk fysik HT01. Institutionen för Datavetenskap Umeå Universitet

2D1210, Numeriska Metoder, GK I för Bio 3 och BM2.

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

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

Icke-linjära ekvationer

TMA226 datorlaboration

SF Numeriska metoder, grundkurs Föreläsning 5: Felanalys, felkalkyl och kondition KTH - SCI

SF1511. Numeriska metoder och grundläggande programmering. för M1, 9 hp (högskolepoäng)

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

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Laboration 3. Funktioner, vektorer, integraler och felskattning

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

Laboration 3. Funktioner, vektorer, integraler och felskattning

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

Varning!!! Varning!!!

Beräkningsvetenskap I. Exempel på tillämpningar: Vad är beräkningsvetenskap? Informationsteknologi

7 november 2014 Sida 1 / 21

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

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

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

Lösningar tentamen i kurs 2D1210,

Introduktion till kursen och MATLAB

Beräkningsvetenskap I

Interpolation. 8 december 2014 Sida 1 / 20

Tentamen i Beräkningsvetenskap I (1TD393)

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

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

Interpolation Modellfunktioner som satisfierar givna punkter

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

Beräkningsvetenskap I. Exempel på tillämpningar: Vad är beräkningsvetenskap? Informationsteknologi. Jarmo Rantakokko Josefin Ahlkrona Karl Ljungkvist

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

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

Lektioner Datum Lokal Grupp 1 Grupp 2 Grupp 3 Grupp 4 Avsnitt

5B1147 Envariabelanalys, 5 poäng, för E1 ht 2006.

TMV166/186 Linjär Algebra M/TD 2009/2010

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

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

Kursanalys DD1312 hösten 2008

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,

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

PRÖVNINGSANVISNINGAR

Ordinära differentialekvationer,

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

SF1624 Algebra och geometri

Matematik och Kemi på Chalmers

Fel- och störningsanalys

Sammanfattning (Nummedelen)

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

Introduktion & MATLABrepetition. (Kap. 1 2 i MATLAB Programming for Engineers, S. Chapman)

SF Numeriska metoder, grundkurs

Asymptotisk komplexitetsanalys

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Kursanalys. Douglas Wikström 15 juni Problemlösning och programmering under press (DD2458) Högskolepoäng (hp): 9 Kursen gavs: Period 1-2, 2008

Fel- och störningsanalys

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

MA2047 Algebra och diskret matematik

Tentamen i: Beräkningsvetenskap I och KF

Något om Taylors formel och Mathematica

Transkript:

Denna föreläsning DN1212 Numeriska metoder och grundläggande programmering FN1 08-11-18 Hedvig Kjellström hedvig@csc.kth.se Om numeriska metoder Om programmering (Staffan Romberger) Information om kursen Grundläggande begrepp Potensserier, taylorutvecklingar Linearisering Gränsvärdesprocesser Feluppskattning Överbestämda ekvationssystem, minsta-kvadratanpassning Ni behöver inte anteckna, föreläsningen kommer finnas på kursens hemsida: http://www.csc.kth.se/utbildning/kth/kurser/dn1212/numpm09/ 1 2 Vad är numeriska metoder? Varför numeriska metoder? Numerisk metod: En algoritm (följd av regler) som löser ett kontinuerligt matematiskt problem med ett ändligt antal aritmetiska operationer (+, -, *, /)! Approximativ lösning i sifferform Numerisk analys: Konstruktionen av numeriska metoder genom att ersätta matematikens oändliga processer med ändliga processer Analys av metoderna för att bilda sig en uppfattning om hur noggranna de är Alltid approximationer, måste veta hur stora felen är Finns en mängd problem som inte går att lösa analytiskt (med papper och penna) Ex 1: Ickelinjär ekvationslösning (kan inte hitta primitiv funktion) Ex 2: Diffekvationen för pendelrörelse Numerisk integrering " 3 Numerisk lösning av diffekvationer 4

Varför numeriska metoder? Tillämpningar Ex 3: Stora linjära ekvationssystem Ax = b om A = 2x2, OK om A = 100x100, jobbigt Man vill ofta matematiskt modellera ett fysikaliskt problem Numerisk matrisalgebra Modellen blir för komplicerad att lösa analytiskt (med papper och penna) 5 6 Ex 1: Krocksimulering Ex 2: Strömningsmekanik Modell för hur revbenen påverkas av bältestrycket vid en krock Beräkning av strömningsfältet runt en cyklist samt tryckfördelningen på kroppen Fördelar mot verkliga experiment: Vid exp kanske bara kan mäta tryck vid fåtal punkter - här överallt Kan här göra en massa simuleringar vid olika hastigheter med olika kroppsformer - biligare än exp Bra vid utveckling av cyklar och hjälmar 7 8

Ex 3: Vädersimuleringar Ex 4: Astrofysik Alla väderprognoser bygger på numeriska beräkningar av vädermodeller Simulering av det första giga-året i en galax (1011 ggr solens massa) Utförd med superdatorn Earth Simulator i Japan Simuleringen bygger på vetenskapligt framtagna modeller för universums sammansättning (Nature 440 644, http://physicsworld.com/ cws/article/news/24536) 9 10 Ex 5: Filmindustrin Poäng med numeriska metoder Simulering av stormigt vatten (Titanic) Kan lösa väldigt komplicerade problem genom att kombinera flera enkla metoder! Matematisk modell för hur vågor rör sig Problemen skrivs om på en form som passar för datorberäkningar Fördel mot verklig inspelning Måste alltså kunna programmera - och det handlar första halvan av kursen om! Pengar 11 12

Programmeringsdelen Staffan Romberger, föreläsare programmering Mål: Efter genomgången kurs ska studenten kunna identifiera olika matematiska problem och skriva om dem på en form som är lämplig för numerisk behandling välja lämplig numerisk metod för behandling av det givna problemet motivera val av metod genom att redogöra för fördelar och begränsningar välja en algoritm som leder till effektiva beräkningar och implementera den i ett programspråk lämpat för beräkningar t ex Matlab presentera resultaten på ett relevant och illustrativt sätt göra tillförlitlighetsbedömning av resultaten bryta ner större problem i hanterliga delar och skriva egna funktioner för dessa i programspråket använda styr- och datastrukturer hantera filer på olika sätt, både vid inläsning och utskrift använda färdiga funktioner ur programspråkets bibliotek (t ex Matlabs bibliotek) för beräkning, visualisering och effektiv programmering skriva välstrukturerade program i programspråket numme 13 14 Kursaktiviteter: 6 föreläsningar, 6 salsövningar om programmering 10 föreläsningar, 10 salsövningar om numeriska metoder 13 datorsalspass Examination: 5 datorlaborationer, redovisas muntligt i grupper om två 1 projekt, redovisas skriftligt 1 tenta (27 maj 9-12) Betyg enl tentaresultat (se kurs-pm) Bonuspoängsystem till tentan: Lab 2 redovisad innan 11/12 ger 1 bp Lab 3 redovisad innan 29/1 ger 1 bp Lab 4 redovisad innan 25/3 ger 1 bp Lab 5 redovisad innan 7/5 ger 1 bp 11/12, 29/1, 25/3, 7/5 kommer det vara lång kö - redovisa tillfället innan för att slippa vänta! Datorlabbar i grupper om två Inte fler än två - men det går bra att jobba ensam Bonuspoängen gäller tom mars 2010 Om ni söker en labbkompis, kom fram till tavlan i rasten på denna föreläsning Kursomfång: 9 hp! 240 timmar! 7 timmar per vecka utöver schemalagda aktiviteter 15 16

Kursledare Hedvig Kjellström (kursansvarig, föreläsare numerikdelen) Staffan Romberger (föreläsare programmeringsdelen) Övningsledare Grupp 1: Staffan Romberger (programmering) och Beatrice Frock (numme) Grupp 2: Hedvig Kjellström Grupp 3: Jon Häggblad Litteratur: Kursbunt (övningshäfte, kortfattad nummebok, matlabhäfte, kurs-pm, extenta, lab 1-3) Köpes (150:-) på CSC/Nadas studentexp, Osquars backe 2, plan 2 (må-fr 9.30-12, må-to 13-15) Stephen J Chapman, Matlab Programming for Engineers (PEng) Köpes (ca 320:-) på Kårbokhandeln Samt datorsalshandledare, både CSC och M-teknologer Peter Pohl, Grundkurs i numeriska metoder (GNM) Köpes (ca 320:-) på Kårbokhandeln 17 18 Kursutvärdering kommer ske i slutet av kursen - men kommentarer är välkomna när som helst under kursen. Prata med Hedvig eller Staffan! Mer om kursen I kurs-pm På hemsidan: http://www.csc.kth.se/utbildning/kth/kurser/dn1212/numpm09/ Matematiska grunder för numeriska metoder Kolla hemsidan en gång i veckan för nyheter, labblydelser, föreläsningsanteckningar mm. 19 20

Potensserier - taylorutveckling Betrakta en funktion f(x) I allmänhet inte möjligt att tex hitta uttryck för f (x) eller hitta rötterna (nollställena) till f(x) (Däremot kan tex f (x 0 ) för en specifik punkt x 0 beräknas) Skriv om f(x) på en form som är lättare att använda för numeriska metoder Taylorutveckling av f: Potensserier - taylorutveckling Approximation till f(x): ta bara med de första n termerna i taylorutvecklingen Tex, approximera f(x) med rät linje omkring x 0 : f f 1 dvs f(x 0 ) 21 x 0 22 Approximation med räta linjer Gränsvärdesprocesser De flesta numeriska metoder innehåller approximation med rät linje lokal linearisering runt x 0 = 1-gradens taylorutveckling runt x 0 Serie av beräkningar som konvergerar mot lösningen till problemet (det har ni sett: gräns = limes, tex ) Måste välja skala: Hur långt från x 0 är approx giltig? Man stannar när man nått önskad noggrannhet (kommit tillräckligt nära lösningen) Exempel: Hitta nollställen till f(x) = x - 4 sin(2x) - 3 Approximera f(x)! f 1 (x) och beräkna f 1 (x) = 0 Men f(x)! f 1 (x) gäller bara i närheten av x 0 23 Två typer av processer: Rekursion Approximationer till en följd av storheter beräknas succesivt med en och samma beräkningsprocess Tex, beräkna y t för t = 1, 2, från en diffekvation Iteration Approximationer till en enda storhet beräknas succesivt med en och samma beräkningsprocess Tex, beräkna lösningen till f(x) = 0 med approximationer x n som kommer allt närmare den verkliga lösningen när n ökar 24

Exempel på iteration Hitta lösningar till Iterativ metod för ekvationslösning: Newton-Raphson Kan formulera problemet som att vi vill hitta rötterna (nollställena) till Börja i x 0 För n=1,2, 1. Lokal linjär approx 2. Stanna när Beräkningsfel och effektivitet Numerisk analys handlar ju om att hitta approximativa lösningar till problem som inte går att lösa analytiskt Hur bra är approximationen? Hur lång tid tar den att beräkna? Ofta en avvägning: en oändligt bra approximation tar oändligt lång tid Exempel: numerisk integration Kan inte integrera analytiskt Snabbt och fel Måste kunna uppskatta felet! Långsammare och mindre fel Mer om Newton-Raphson senare i kursen A? A = $ A i A = $ A i x 0 x 1 x 2 x 3 x 4 25 26 Felkällor Felkällor Så, var kommer felen ifrån i approximationen? Viktigt att veta källan! Fel i indata När vi ska simulera från pendelexemplet kanske startvinkeln " 0 är felaktig - vi kanske mätt upp den slarvigt Modellfel Fysikalisk/matematisk modell är en förenklad bild av verkligheten (astrofysikexemplet i början) Tex, system (pendel) som beskrivs av diffekvationen Viktigt att veta hur det påverkar simuleringsresultatet " t Vi talar om ett systems kondition/stabilitet/konditionstal: fel i utdata = konditionstal * fel i indata Mer om konditionstal senare i kursen Kan förenklas som Trunkeringsfel Uppkommer då vi avbryter gränsprocesserna Tex, vi låter inte # x gå ända till 0 när vi approximerar en derivata: Men det fungerar bara för små " 27 Avrundningsfel Datorn representerar tal med ett ändligt antal bitar (32 eller 64) Spelar roll om vi har storheter med väldigt olika värden: x = 2 31 y 28

Noggrannhetsordning Många numeriska metoder har ett trunkeringsfel E som beror av en steglängd h: E! c h p där p är metodens noggrannhetsordning, dvs dess effektivitet % log E! log c + p * log h där p är lutningen hos den räta linjen i en loglog-plot Mer om felanalys senare i kursen Överbestämda ekv.system, minstakvadratmetoden En av de vanligaste numeriska beräkningarna i ingenjörstillämpningar är att lösa linjärt ekvationssystem Ax = b Om A är kvadratisk med det(a) " 0, gausselimination Tex, anpassning av rät linje till två punkter: b = b 0 + b *a = b 2 b 1 a 1 a 2 29 I Matlab: x = b\a; 30 Överbestämda ekv.system, minstakvadratmetoden Vad händer om det är fler än två punkter? Överbestämt ekvationssystem Ax = b: Kan inte hitta en rät linje som går genom alla punkter (a i, b i ) Vi får ta en approximation b! b 0 + b *a, dvs lösa Ax! b Bra approximation är den som minimerar summan av kvadraterna av avstånden mellan linjen och punkterna b 2 b b 1 3 b 4 b 5 = Härnäst Kolla hemsidan http://www.csc.kth.se/utbildning/kth/kurser/dn1212/numpm09/ Imorgon 13-15 i M1: Föreläsning 1 om programmering Läs PEng kap 1-2 (repetition från MJ1102) Inför numerikdelarna av Lab 1 och 2 Läs GNM 1, 4:1A, 4:1D a 1 a 2 a 3 a 4 a 5 Mer om detta senare i kursen I Matlab: x = b\a; 31 32