Beräkningsvetenskap I

Relevanta dokument
Beräkningsvetenskap I

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

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

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

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

Introduktionsföreläsning

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

Introduktionsföreläsning

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

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

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

Sammanfattninga av kursens block inför tentan

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

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

Tentamen i: Beräkningsvetenskap I och KF

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

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

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

Inledande matematik M+TD

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

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

Ordinära differentialekvationer,

Ordinära differentialekvationer,

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

TMA226 datorlaboration

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

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

Introduktion till kursen och MATLAB

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

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

Tentamen i Beräkningsvetenskap I (1TD393)

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

Tentamen i Teknisk-Vetenskapliga Beräkningar

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

Projekt Finit Element-lösare

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

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Numeriska metoder för ODE: Teori

Utbildningsplan för Matematikprogrammet (N1MAT) Bachelor s Programme in Mathematics Grundnivå

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

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

SF1544 LABORATION 2 INTEGRATION, MONTE-CARLO OCH BLACK-SCHOLES EKVATION FÖR OPTIONER

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

Numerisk Analys, MMG410. Lecture 1. 1/24

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

SF1625 Envariabelanalys

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

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

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

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

Numeriska metoder för ODE: Teori

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

Laboration 3. Funktioner, vektorer, integraler och felskattning

Matematik och Kemi på Chalmers

LABORATION cos (3x 2 ) dx I =

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

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

Laboration 6. Ordinära differentialekvationer och glesa system

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

0.31 = f(x 2 ) = b 1 + b 2 (x 3 x 1 ) + b 3 (x 3 x 1 )(x 3 x 2 ) = ( ) + b 3 ( )(

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

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

Analys av elektriska nät med numeriska metoder i MATLAB

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

PRÖVNINGSANVISNINGAR

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

Dagens föreläsning (F15)

NATURVETENSKAPLIGA FAKULTETEN

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Monte Carlo-metoder. Bild från Monte Carlo

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Icke-linjära ekvationer

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Laboration 3. Funktioner, vektorer, integraler och felskattning

7 november 2014 Sida 1 / 21

Partiella differentialekvationer: Koppling Diskret - Kontinuum och Finita Elementmetoden

GÖTEBORGS UNIVERSITET Naturvetenskapliga fakultetsnämnden. Utbildningsplan för Matematikprogrammet (N1MAT) 1. Beslut om fastställande. 2.

Omtentamen i DV & TDV

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,

Reglerteknik I: F1. Introduktion. Dave Zachariah. Inst. Informationsteknologi, Avd. Systemteknik

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

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

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

HEM KURSER SKRIV UT HEM ÄMNE SKRIV UT

Fel- och störningsanalys

Fel- och störningsanalys

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

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

Transkript:

Beräkningsvetenskap I Jarmo Rantakokko Magnus Grandin Emil Kieri Vårterminen 2014 Varför beräkningsvetenskap? Idag spelar numeriska simuleringar med datorer, baserade på matematiska och statistiska modeller, en nyckelroll inom naturvetenskap och teknik. Det är ett sätt att söka ny kunskap och nya produkter. Inom industrin, liksom inom teknisk och naturvetenskaplig forskning har datorberäkningar blivit ett viktigt verktyg. I vissa fall som ett komplement till experiment och i andra fall finns ingen möjlighet att göra experiment, utan man är helt hänvisad till beräkningar. För industrin är beräkningar attraktiva därför att man i många fall kan göra sådana snabbare än experiment och till lägre kostnad. Kostnadseffektivt! 1

Beräkningsvetenskap: Hur man med datorer utför beräkningar och simuleringar baserade på matematiska modeller Talrepresentation Programmering Numerisk lösning av ekvationer simulering av komplexa fysikaliska förlopp Analys och tolkning resultat Beräkningsvetenskap handlar om hur man gör detta på ett effektivt, noggrannt och pålitligt sätt! Ämnet är tvärvetenskapligt och har gränsytor mot matematik, datavetenskap och olika tillämpningar, främst inom naturvetenskap och teknik. Exempel på tillämpningar 2

Exempel på tillämpningar Tillämpningarna bygger på matematiska modeller och ekvationer: Navier-Stokes ekvationer Eulers ekvationer Schrödinger ekvationen Black-Scholes ekvationer Maxwells ekvationer System av ODE:r m.m. Och implementeras på storskaliga datorsystem. Numeriska beräkningar och simuleringar är ofta mycket CPU/minnes-krävande och utförs på parallelldatorer. Quad-core laptop Uppsala universitets (UPPMAX) 2784 core PC-cluster 4-core mobile 1024 core GPU 2 proc x 6-core 12 core PC 3

Tillämpningarna är exempel på problem som kan beskrivas med matematiska modeller Problem! Kan inte lösas analytiskt, på vanligt sätt. Lösning: Lös problemet på dator måste använda numeriska lösningsmetoder. Resultat: Ger approximativ lösning. Verkligheten Otillräcklig modell Dålig noggrannhet Bugg, indata Otydlig visualisering Matematisk modell Nej Numerisk metod Datorprogram Lösning OK? Ja Idealisering Approximation Implementering Datorkörning Tolkning Beräkningsvetenskap 4

verklighet Lösning modeller Numeriska metoder Datorprogram Ett (trivialt) exempel Beräkna arean på jorden med den matematiska modellen A=4πr 2 Innehåller flera approximationer och fel: n Jorden approximeras av en sfär idealisering av jordens verkliga yta n Värdet på radien baseras på empiriska mätningar och tidigare beräkningar n Värdet på π kräver trunkering (avhuggning) av oändlig decimalutveckling n Indata och resultat avrundas av datorn n Delberäkningar är ej exakta och avrundas 5

Ett mer avancerat exempel Verkligheten Beräkna egenfrekvenser och svängningsmoder för bron. Modellera bron som en tunn sträng: Matematisk modell Där u förskjutningen i y-led, T spänningen i strängen och p dess densitet. 6

n Modellen är en förenkling av verkligheten (1D) n Kan bygga ut den till flera dimensioner för att göra den mer realistisk blir då mer komplicerad n Svårt bestämma parametrarna T,p. Kan variera för olika material (ställen). n Modellen innehåller inte bärlinor n Svårt eller omöjligt att göra en modell som helt överensstämmer med verkligheten Slutsats: Modellen en idealisering av verkligheten! (Not: Med avancerad programvara kan vi göra en mycket realistisk 3D modell av verkligheten, exemplet ovan är en mycket grov förenkling av problemet.) Problem! Numerisk metod Kan ej lösas med vanliga matematiska (analytiska) metoder. Vi använder istället en numerisk metod. n Numeriska metoder bygger i detta fall på diskretisering, dvs kontinuerliga intervall ersätts med diskreta punkter. Beräkning sker endast i dessa punkter medför diskretiseringsfel n Olika numeriska metoder har olika egenskaper och kan vara bra ur en synvinkel men dåliga ur en annan. Exempelvis kan en viss metod vara effektiv (snabb), men i vissa lägen vara instabil 7

Datorprogram n Implementera metoden, dvs skriv program för den numeriska metoden (C++, Java, MATLAB,...) eller n Använd befintlig programvara, t ex MATLAB Ofta krävs en kombination av båda! n Indata till programmet, t ex T,p baseras vanligen på mätningar och är inte exakta n Krävs ett initialtillstånd, dvs böjningen vid tiden t=0. Detta mäts ej exakt utan innehåller fel n Datorn avrundar alla beräkningar Lösning n Lösningen OK? n Tolka resultat, är egensvängning korrekt? n Metoden tillräckligt effektiv och snabb? n Är felet tillräckligt litet? (Hur vet vi det när vi inte vet lösningen?) 8

Verkligheten Vi vill studera hur olika miljöfarliga utsläpp sprider sig i atmosfären. u t =DΔu- (vu) Diffusion Transport Matematisk modell u=u(x,y,z,t) koncentrationen av utsläppet v=[v x,v y,v z ] vindvektor (väderprognos) D-Diffusionskonstant Not: Modellen kan bara lösas analytiskt för vissa specialfall, för en generell vindvektor kan man bara lösa det med numeriska metoder. 9

Numerisk lösning: Dela upp området i diskreta nodpunkter Representera data i dessa nodpunkter Byt ut derivatorna mot differenskvoter Beräkna lösningen i nodpunkterna 1. Uppvindsmetoden: (u j n+1 -u j n) /dt=-v j (u jn -u n j-1 )/dx 2. Crank-Nicolson: (u j n+1 -u jn )/dt=-v j (D 0 u n+1 +D 0 u n )/2 där D 0 u=(u j+1 -u j-1 )/2dx Numerisk metod dx=0.1; dt=0.05; Datorprogram x=-15:dx:15; u=u0(x); % Function u0.m % Upwind method c=v*dt/dx; for t=dt:dt:t u(2:end)=u(2:end)- c*(u(2:end)-u(1:end-1)); end plot(x,u); 10

Experiment med en 2D modell, D=0, och cirkulär vind v=[-y/r,x/r]. Vid t=0 sker ett momentant utsläpp enligt figur. Lösning Lösning Numerisk lösning (uppvind), är lösningen OK? 11

Lösningen var numeriskt instabil, ändra till en annan numerisk metod (Crank-Nicolson). Öka vindhastigheten, : v=10x[-y/r,x/r], är lösningen fortfarande OK? 12

Minska avståndet mellan nodpunkterna för bättre upplösning och noggrannare beräkningar. Slutsatser: Olika numeriska metoder har olika egenskaper. De har olika noggrannhet, de är olika snabba och kan generera olika typer av ofysikaliska fenomen (fel), t.ex. dämpning, oscillationer, numerisk instabilitet. Viktigt att välja rätt metod för problem! Den numeriska metodens noggrannhet beror bland annat av diskretiseringen, dvs avståndet mellan nodpunkterna. Felen (ofysikaliska fenomen och numeriska fel) avtar minskad steglängd. När man löser problem numeriskt måste man kunna tolka resultaten och skilja på fysikaliskt och numeriskt inducerade fenomen. 13

Exempel: Vilken betydelse har datorns noggrannhet i beräkningarna? Betrakta uttrycket: y=((1/3-(1/3-3/10)*10)*10^17)^100 På datorn: y=2.74. 10 74 Exakt: y=0! Vad hände? Slutsats: Även exakta matematiska uttryck kan ge betydande fel vid numerisk beräkning (exempel på instabil beräkning) Datavetenskap Numeriska metoder Datorprogram Matematik Tillämpningsämnen 14

Frågeställningar inom beräkningsvetenskap Exekveringstid? Minnesutnyttjande? Vilken typ av dator? Programmeringsspråk? Numeriska metoder Datorprogram Noggrannhet? Stabilitet? Kondition? Realistisk lösning? Tillräcklig model? Kursens upplägg/struktur Talrepresentation Datoraritmetik Lösning av ekvationer Linjära ekv system Icke-linjär ekv Integraler Simulering av dynamiska förlopp Kurvanpassning Ordinära diff ekv Partiella diff ekv Iterativa metoder Egenvärdesproblem BV I BV II BV III Programmering i Matlab 15

Kursens upplägg/struktur Beräkningsvetenskap I n Fem olika block (i följande ordning) n Introduktion till Matlab och datorberäkningar n Linjära ekvationssystem n Programmering n Integraler n Ickelinjära ekvationer Kursens upplägg/struktur n Varje block, utom inledning- och programmeringsblocken, har strukturen Datorlab Föreläsningar Workout Återkoppling Problemlösning miniprojekt n Alla delar hänger ihop om man t ex missat labben förstår man föreläsningen sämre n Alla delar tillsammans ger fullständig förståelse av blocket 16

Kursens upplägg/struktur Upptäckt Laborationer Verifiering/ Förståelse (Varför/hur?) Teori Simuleringar/datorberäkningar Beskrivning/ Idealisering Kursens upplägg/struktur Citat från tidigare kursvärderingar: Det är framförallt sampelet mellan de olika formerna som varit bra. Att först ha laboration, sen föreläsning, workout och sist problemlösning gav förståelse och väl behövlig repetition. När man var klar med ett block kunde man det väl. Jag tycker det hänger ihop bra. Först får man testa praktiskt utan att förstå och sen får man förklarat för sig och till sist så faller teorin på plats när man gör workouten. 17

Kursvärdering (2013), problem: Det var svårt med programmering. Miniprojekten var svåra (programmeringen). Stort gap mellan betyg 3 och 4/5 på tentamen (få betyg 5). Konkreta åtgärder (2014) Programmeringsföreläsningarna utökas och blir mer studentaktiva där föreläsningsformen och laborationsformen integreras med egna datorer på föreläsningarna. Miniprojekten får individuell handledning och återkoppling i datorsal. Exempel på nivå 4/5 uppgifter kommer att diskuteras på föreläsningarna. 18

Kursens mål För godkänt betyg ska studenten kunna n redogöra för och kunna utföra uppgifter som kräver kännedom om de nyckelbegrepp som ingår i kursen * n Beskriva och använda de algoritmer som ingår i kursen n Undersöka egenskaper hos beräkningsalgoritmer och matematiska modeller med hjälp av de analysförfaranden som ingår i kursen n Formulera program som använder inbyggda Matlab-kommandon samt förklara vad ett program utför och resulterar i efter exekvering * Nyckelbegrepp: algoritm, numerisk metod, diskretisering, maskinepsilon, noggrannhet, noggrannhetsordning, stabil- resp ickestabil algoritm, diskretiseringsfel (trunkeringsfel), iteration, kondition och konditionstal Kursens mål, forts n I grupp formulera ett program som använder programmeringsstrukturer (if, while, for) n I grupp strukturera och dela upp ett mindre beräkningsproblem i underproblem, formulera algoritm för lösning av problemet, samt implementera i Matlab n förklara och sammanfatta lösningsmetoder och resultat på ett överskådligt sätt i en mindre rapport Fyra första punkterna examineras på tentan, övriga genom miniprojekten 19

Mål och betygskriterier n Förkortade och förenklade mål för tentan: Mål 1: Visa förtrogenhet med nyckelbegrepp Mål 2: Visa förtrogenhet med de algoritmer Mål 3: Visa förtrogenhet med de analysförfaranden Mål 4: Visa elementär förtrogenhet med programmering (mer avancerad programmering görs i grupp och framför dator) Betygskriterier n För de fyra första målen har vi betygskriterier som används när vi konstruerar och bedömer tentan Mål nr Kriterier för betyg 3 1 Kunna återupprepa eller känna igen standard-förklaringar av begrepp samt kunna utföra standarduppgifter som kräver kännedom om begrepp 2 Kunna visa hur algoritmer kan användas för lösning av tillämpningsproblem, när det explicit framgår vilka algoritmer som ska användas 3 Kunna utföra standardförfaranden för analys av algoritmer när det explicit framgår vilken analys som avses 4 Givet ett kortare program I Matlab kunna förklara vad resultatet av programmet skulle bli om det kördes, samt kunna skriva enklare kod som är nödvändig för att kunna använda inbyggda matlabfunktioner 20

Betygskriterier Mål nr Kriterier för betyg 4 1-4 Kunna behandla beräkningsproblem som innehåller minst två av de aspekter som återspeglas i målen och där kunskaper från kursen är direkt tillämpliga men det inte framgår explicit vilka algoritmer etc som avses Mål nr Kriterier för betyg 5 1-4 Kunna behandla beräkningsproblem som innehåller minst två av de aspekter som återspeglas i målen och där det krävs att man kombinerar eller generaliserar kunskaper från kursen utan att det framgår explicit vilka sådana kombinationer eller generaliseringar som avses Betygskriterier n Tentan kommer att konstrueras och bedömas utgående från betygskriterierna n Bedömning sker poänglöst man uppfyller eller inte uppfyller målen upp till något betygskriterium n Underkänt på ett mål ger U på kursen n Varje mål testas i flera frågor mer om tentan senare Exempel: Så här kan det se ut (siffrorna i tabellen är betyg) Uppg nr Mål 1 Mål 2 Mål 3 Mål 4 1 3 X 3 X 2 X 3 X X 3 3 X X 3 4 X 3 3 X 5 X X X 3 6 4, 5 7 4, 5 21