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

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

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Beräkningsvetenskap I

Beräkningsvetenskap I

Introduktionsföreläsning

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

Introduktionsföreläsning

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

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

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:

Ordinära differentialekvationer,

Ordinära differentialekvationer,

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

Inledande matematik M+TD

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

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

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

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i: Beräkningsvetenskap I och KF

Introduktion till kursen och MATLAB

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

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

Numeriska metoder för ODE: Teori

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

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

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

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

Numerisk Analys, MMG410. Lecture 1. 1/24

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

Tentamen i Teknisk-Vetenskapliga Beräkningar

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

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

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

Tentamen i Beräkningsvetenskap I (1TD393)

Laboration 3. Funktioner, vektorer, integraler och felskattning

Dagens föreläsning (F15)

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

TMA226 datorlaboration

Datavetenskapligt program, 180 högskolepoäng

Optimeringslara = matematik som syftar till att analysera och. Optimeringslara ar en gren av den tillampade matematiken.

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

LINKÖPINGS TEKNISKA HÖGSKOLA

SF1625 Envariabelanalys

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Laboration 3. Funktioner, vektorer, integraler och felskattning

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

Matematik och Kemi på Chalmers

7 november 2014 Sida 1 / 21

n Kap 4.1, 4.2, (4.3), 4.4, 4.5 n Numerisk beräkning av derivata med n Felen kan t ex vara avrundningsfel eller mätfel n Felet kan mätas

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

Introduktion till galaxer och kosmologi (AS 3001)

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

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

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

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

Utbildningsplan för kandidatprogram i fysik, 180

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

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

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

CIVILINGENJÖRSEXAMEN MASTER OF SCIENCE IN ENGINEERING

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

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Programmering B PHP. Specialiseringen mot PHP medför att kursens kod i betygshanteringen heter PPHP1408.

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

NATURVETENSKAPLIGA FAKULTETEN

Omtentamen i DV & TDV

Lösningsförslag obs. preliminärt, reservation för fel

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Algoritmer och datastrukturer. HI1029 8,0 hp Introduktion

Föreläsning 1: Introduktion till kursen

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Block 2: Lineära system

Analys av elektriska nät med numeriska metoder i MATLAB

Relativa, kriteriebaserade och målrelaterade betyg. Målrelaterade kriterier. Relationen betygskriterier lärandemål

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

ÄMAD04, Matematik 4, 30 högskolepoäng Mathematics 4, 30 credits Grundnivå / First Cycle

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

SF Numeriska metoder, grundkurs

Numeriska metoder för ODE: Teori

TANA81: Föreläsning 2

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Programmeringsteknik I

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Ickelinjära ekvationer

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

LABORATION cos (3x 2 ) dx I =

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Oändligtdimensionella vektorrum

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

Modell och verklighet och Gy2011

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

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

4.7 Utbildningsplan för masterprogrammet i matematik

Föreläsning 1: Introduktion till kursen

Transkript:

Beräkningsvetenskap I Jarmo Rantakokko Josefin Ahlkrona Karl Ljungkvist Vårterminen 2012 Beräkningsvetenskap: Hur man med datorer utför beräkningar och simuleringar baserade på matematiska modeller Talrepresentation Numerisk lösning av ekvationer simulering av komplexa fysikaliska förlopp 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: Simulering av snödrift för ett av ombyggnadsförslagen Sylarnas fjällstation innan ombyggnaden http://www.fluent.com/about/news/newsletters/04v13i1/a8.htm Meteorologi: Vad blir det för väder imorgon eller hur kommer klimatet att förändras? Alla prognoser från SMHI beräknas numeriskt och tolkas sedan av meteorologer. Oceanografi: Hur kommer vattenflöden, salthalt, temperatur och isutbredning att variera I Östersjöområdet? Var och när behöver isbytarna skickas ut? 1

Bioinformatik: Var i genomet finns gener som påverkar exempelvis storlek? + = - Identifiera sekvenser av gener i DNA bestående av 3 miljader baser - Numerisk simulering för design av effektiva läkemedel Hur sprider sig den medicin som injiceras i ögat mot exempelvis starr? Fysik: Vad händer i ett flygplan när blixten slår ner? Hur designar man ett flygplan för minsta möjliga radarreflektion? Molekyldynamik: Om man ändrar ett material på molekylnivå vilka egenskaper förväntas materialet få? 2

Mekanik: Hur bygger man krocksäkra bilar? Astronomi: Hur bildas stjärnor, supernova och svarta hål? Virtuella krocktester av preliminär design spar både tid och pengar. Numeriska beräkningar av luftflödet för optimal design av aerodynamiska egenskaper Kemi: Hur får man en effektiv förbränning och bra bränsleekonomi? Simulering av hur förbränning övergår i detonation (vilket vill undvikas i bilmotor) Datavetenskap: I vilken ordning ska träffarna visas? Ekonomi: Hur ska banken sätta priset på en aktieoption? När ska man sälja eller köpa en viss aktie? Löser Black-Scholes ekvationer numeriskt med olika förutsättningar. http://www.mai.liu.se/~laeld/ 3

-Internetservrar -Databaser -Spel Beräkningsvetenskapen är dold bakom tillämpningen, men är ett viktigt verktyg för att nå resultaten. Numeriska beräkningar och simuleringar är ofta mycket CPU/minnes-krävande och utförs på parallelldatorer. OBS, de flesta program innehåller alltid någon numerisk komponent (t.ex. talrepresentation, bildtransformation, simulering, beräkning) 2x quad-core 8-core PC 512 core GPU 280 core PC-cluster 1+8 Multicore playstation 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 Dual-core laptop 16 core GPU Dålig noggrannhet Idealisering Matematisk modell Approximation Numerisk metod Implementering Bugg, indata Datorkörning Lösning Nej OK? Ja Tolkning Beräkningsvetenskap verklighet modeller Lösning Numeriska metoder Ett (trivialt) exempel Beräkna arean på jorden med den matematiska modellen A=4πr2 Innehåller flera approximationer och fel: Jorden approximeras av en sfär idealisering av jordens verkliga yta Värdet på radien baseras på empiriska mätningar och tidigare beräkningar Värdet på π kräver trunkering (avhuggning) av oändlig decimalutveckling Indata och resultat avrundas av datorn Delberäkningar är ej exakta och avrundas 4

Ett mer avancerat exempel Modellera bron som en tunn sträng: Verkligheten Beräkna egenfrekvenser och svängningsmoder för bron. Matematisk modell Där u förskjutningen i y-led, T spänningen i strängen och p dess densitet. Matematisk modell Modellen är en förenkling av verkligheten (1D) Kan bygga ut den till flera dimensioner för att göra den mer realistisk blir då mer komplicerad Svårt bestämma parametrarna T,p. Kan variera för olika material (ställen). Modellen innehåller inte bärlinor Svårt eller omöjligt att göra en modell som helt överensstämmer med verkligheten Slutsats: Modellen en idealisering av verkligheten! Numerisk metod Problem! Kan ej lösas med vanliga matematiska (analytiska) metoder. Vi använder istället en numerisk metod. 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 Metoderna 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 Lösning Implementera metoden, dvs skriv program för den numeriska metoden (C++, Java, MATLAB,...) eller Använd befintlig programvara, t ex MATLAB Ofta krävs en kombination av båda! Indata till programmet, t ex T,p baseras vanligen på mätningar och är inte exakta Krävs ett initialtillstånd, dvs böjningen vid tiden t=0. Detta mäts ej exakt utan innehåller fel Datorn avrundar alla beräkningar Lösningen OK? Tolka resultat Metoden tillräckligt effektiv och snabb Är felet tillräckligt litet? 5

Exempel: Vilken betydelse har datorns noggrannhet i beräkningarna? Betrakta uttrycket: y=((1/3-(1/3-3/10)*10)*10^12)^100 På räknare: y=5.15*10^47 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 Matematik Tillämpningsämnen Kursens upplägg/struktur Frågeställningar inom beräkningsvetenskap Talrepresentation Felanalys Exekveringstid? Minnesutnyttjande? Vilken typ av dator? Numeriska metoder Noggrannhet? Stabilitet? Kondition? Realistisk lösning? Tillräcklig model? 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 Egenvärdesproblem BV I BV II BV III Programmering i Matlab Kursens upplägg/struktur Kursens upplägg/struktur Fem olika block Metodblocken har strukturen Upptäckt Datorlab => Föreläsning (en eller två) => Workout + problemlösning på dator Problemlösningspass => Miniprojekt Alla delar hänger ihop om man t ex missat labben förstår man föreläsningen sämre Alla delar tillsammans ger fullständig förståelse av blocket Laborationer Verifiering/ Förståelse (Varför/hur?) Teori Simuleringar/datorberäkningar Beskrivning/ Idealisering 6

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. Kursens mål För godkänt betyg ska studenten kunna redogöra för de grundläggande begreppen algoritm, diskretisering, noggrannhet, noggrannhetsordning, stabil- resp ickestabil algoritm, maskinepsilon, diskretiseringsfel (trunkeringsfel), iteration, kondition; översiktligt förklara idén bakom de algoritmer som behandlas i kursen; Visa hur algoritmerna som behandlas kan användas för lösning av tillämpningsproblem Redogöra för skillnaden i metodik vid datorberäkningar i jämförelse med analytisk lösning och de effekter som flyttalsrepresentation och diskretisering medför; Kursens mål, forts Mål, forts Använda grundläggande programmeringsstrukturer (if, while, for) i algoritmer och i programmeringskod vid problemlösning; Givet ett mindre beräkningsproblem, strukturera och dela upp i underproblem, formulera algoritm för lösning av problemet, samt implementera i ett programmeringsspråk Redogöra för hur parametrar överförs till funktioner samt skillnaden mellan globala och lokala variabler i program Förstå enkel programmeringskod och skriva egna välstrukturerade mindre beräkningsprogram I en mindre rapport förklara och sammanfatta lösningsmetoder och resultat på ett överskådligt sätt. OBS, tentamen blir målrelaterad vilket innebär att för att bli godkänd på kursen måste studenten vara godkänd på samtliga mål. (Högskoleverket utvärderar utbildningarna på hur väl målen är uppfyllda.) Mål och betygskriterier Förkortade och förenklade mål för tentan: Betygskriterier För de fyra målen har vi betygskriterier som används när vi konstruerar och bedömer 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 (noggrannhet, effektivitet, stabilitet) Mål 4: Visa elementär förtrogenhet med programmering (mer avancerad programmering görs i grupp och framför dator) 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 7

Betygskriterier Betygskriterier Mål nr Kriterier för betyg 4 Tentan kommer att konstrueras och bedömas utgående från betygskriterierna 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 Bedömning sker poänglöst man uppfyller eller inte uppfyller målen upp till något betygskriterium Underkänt på ett mål ger U på kursen 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 8