Välkomna till NUMPBIO12: DN1212 Numeriska metoder och grundläggande programmering för Bio3, 9 hp. Kurshemsida



Relevanta dokument
Välkomna till NUMPK09: DN1212 Numeriska metoder och grundläggande programmering för K2 och Bio3, 9 hp

Välkomna till NUMPBIO11: DN1212 Numeriska metoder och grundläggande programmering för Bio3, 9 hp. Kurshemsida

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

The purpose of computing is insight, not numbers. (R.W.Hamming)

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

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

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

DN1212. Numeriska metoder och grundläggande programmering. för T1, 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 P1, 9 hp (högskolepoäng)

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

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

DN1215 vt 12 för ME. Numeriska metoder DN1240 numi12 1

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

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

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

DN1240 vt 12 för I. Numeriska metoder DN1240 numi12 1

Webbreg öppen: 26/ /

Webbregistrering pa kurs och termin

Adding active and blended learning to an introductory mechanics course

Välkommen till kursen Medicinsk orientering 5 hp

Quicksort. Koffman & Wolfgang kapitel 8, avsnitt 9

Föreläsning 1 Programmeringsteknik och C DD1316. Mikael Djurfeldt

2D1214, Numeriska Metoder för S 2.

Kursanalys DD1312 hösten 2008

J.Oppelstrup Mikael v. Strauss

DN1240 ht 12 för I. Numeriska metoder DN1240 numi13 1

Att stödja starka elever genom kreativ matte.

Flervariabel Analys för Civilingenjörsutbildning i datateknik

The Finite Element Method, FHL064

Beijer Electronics AB 2000, MA00336A,

Introduktion till kursen och MATLAB

SF Numeriska metoder, grundkurs

J.Oppelstrup Mikael v. Strauss

Kursinformation Grundkurs i programmering med Python

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

Arbetsmiljö för doktorander

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

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Chapter 1 : Who do you think you are?

Styrteknik: Binära tal, talsystem och koder D3:1

Inledande matematik M+TD

Module 6: Integrals and applications

Samråd har skett med utbildningsledare vid akademin för innovation, design och teknik för de kurser de ansvarar för.


Lars-Henrik Eriksson

Introduktion till datateknik och datavetenskap

Föreläsning 1: Intro till kursen och programmering

Välkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1.

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Föreläsning 1 Programmeringsteknik och C DD1316. Kurswebbsidan. Mål

2.1 Installation of driver using Internet Installation of driver from disk... 3

IKSU-kort Ordinarie avtal

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

Föreläsning 1: Intro till kursen och programmering

Programschema för Kandidatprogram i teknisk matematik, 180 hp Gäller för läsåret 2019/2020 Om programschemat

Programmering, grundkurs

Språkutvecklande arbetssätt i en ämnesövergripande värld.

MÅLSTYRNING OCH LÄRANDE: En problematisering av målstyrda graderade betyg

Accomodations at Anfasteröd Gårdsvik, Ljungskile

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

Programmeringsteknik II

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

EL1000/1120/1110 Reglerteknik AK

#minlandsbygd. Landsbygden lever på Instagram. Kul bild! I keep chickens too. They re brilliant.

Automatisk analys av kursplaner med hjälp av språkteknologi

6. a) Visa att följande vektorer är egenvektorer till matrisen A = , och ange motsvarande

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

What is mathematical modelling?

Provlektion Just Stuff B Textbook Just Stuff B Workbook

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

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

Support Manual HoistLocatel Electronic Locks

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

Mina målsättningar för 2015

8 < x 1 + x 2 x 3 = 1, x 1 +2x 2 + x 4 = 0, x 1 +2x 3 + x 4 = 2. x 1 2x 12 1A är inverterbar, och bestäm i så fall dess invers.

Module 1: Functions, Limits, Continuity

Kursplan. IK1004 Java - Grafiska användargränssnitt med Swing. 7,5 högskolepoäng, Grundnivå 1. Java - GUI Programming with Swing - Undergraduate Level

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Scalable Dynamic Analysis of Binary Code

INSTALLATION INSTRUCTIONS

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

12.6 Heat equation, Wave equation

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

Introduktionsmöte Innehåll

PYTHON SNABBREPETITION MEN FÖRST LITE ALLMÄNT OM PROGRAMMERING 729G04 PYTHON 2. Dagens Python

Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180)

Arbetsmiljö för doktorander

DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION :15-13: 15

Numeriska metoder och grundläggande programmering för T1

GeoGebra in a School Development Project Mathematics Education as a Learning System

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

Studieteknik för universitetet 2. Books in English and annat på svenska

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Design och konstruktion av grafiska gränssnitt

Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik

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

BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström

Transkript:

Välkomna till NUMPBIO12: DN1212 Numeriska metoder och grundläggande programmering för Bio3, 9 hp Kurshemsida http://www.csc.kth.se/dn1212/numpbio12/ 120828 DN1212 NUMPB12 1

Beatrice Frock, beatrice@kth.se (kursansvarig, numeriska metoder) Jesper Oppelstrup, jespero@kth.se (MATLAB) Övningsledare Grupp 1: Beatrice Frock Grupp 2: Arjmand Doghonay Grupp 2: Ashraful Kadir Kurslitteratur, säljs på kårbokhandeln 1. P.Pohl: Grundkurs i Numeriska metoder (GNM) 2. S.J.Chapman: Matlab Programming for Engineers (PEng) Kursbunt, xxx SEK, säljs på Matematik stud exp: kontant jämna pengar snabbare än kort! Kursprogram, Hederskodex Edsberg, Eriksson, Lindberg: Exempelsamling i numeriska metoder (EX) Laborationsuppgifter Användarhandledning för Matlab på Nada, Matlabterminologi Extentor 120828 DN1212 NUMPB12 2

Laborationer 6 obligatoriska, rapporteras i Ladok, syns i Mina sidor som LAB1 (1 + 2), LAB2 (3), LAB3 (4 + 5), LAB4 (6, = projektet). Grupper om 2. Redovisas för handledare i datorsal. Projektet redovisas normalt med skriftlig rapport. Terminalövningar i datorsal : handledare tillgängliga för konsultationer och redovisningar. Lab-arbete: ca. 160 tim = 5-7 tim eget arbete/vecka förutom schemalagd tid. Det behövs datorkonto för att köra på CSC-datorer. Delas ut nu, på F2 xxxx och TÖ1 xxxx. Vänta inte till TÖ! 120828 DN1212 NUMPB12 3

Bonus Laborationer som redovisas i tid ger bonus, max. 4 tp. Bonus-p gäller tills nästa gång kursen ges, dvs. t.o.m augusti-tentan 2013 Tentamen samma för alla DN1212,1240, -kurser Inga hjälpmedel, 3 timmar. Två delar. Godkänd del 1 ger betyget E. Del 2 rättas endast om del 1 är godkänd: E-A. Del 1: flervalsuppgifter Del 2: problemuppgifter, Matlab-program, algoritmbeskrivning. Ordinarie tenta: xxxxx Kursutvärderingsenkät I slutet av kursen. Synpunkter mottages tacksamt när som helst direkt till lärare, eller via e-mail. 120828 DN1212 NUMPB12 4

VECKA 35 27/8 F1 Introduktion. MATLAB. PEng 1-2 28/8 F2 Styrstrukturer, programmeringsteknik, PEng 3-4 Ö1 Programmering, PEng 2.1, 2.6, 2.10, 2.16 (2.14) 30/8 TÖ1 Kursreg. via Rapp. Arbete med och redovisning av Lab 1 31/8 Ö2 Programmering, PEng 3.3, 3.7, 4.7a,4.8a, 4.9a, 4.19 VECKA 36 3/9 F3 Funktioner, PEng 5 4/9 F4 Datastrukturer, PEng 6-7 Ö3 Programmering, PEng 5.2, 5.9, 5.22, (5.17), 5.28 (5.24) 5/9 TÖ2 Arbete Lab 2 6/9 Ö4 Programmering, PEng 6.12, 6.11, 6.22, 7.3, kontoregister TÖ3 Arbete Lab2 VECKA 37 10/9 Ö5 Programmering, PEng 9.1, 9.6, 10.2. 10.15 11/9 F5 Grafiska användargränssnitt. PEng 9 10 12/9 TÖ4 Deadline bonus Lab 2, arbete Lab 3 13/9 F6 Filhantering, PEng 8 Ö6 Programmering, PEng 8.1, 8.8, 8.12, 8.11 i 14/9 TÖ5 Arbete med eller redovisning av Lab 3. Påbörja Lab 4 120828 DN1212 NUMPB12 5

It is hard to understand... an ocean because it is too big. a molecule because it is too small. nuclear physics because it is too fast. the greenhouse effect because it is too slow. [Super] Computers break these barriers to understanding. They, in effect, shrink oceans, zoom in on molecules, slow down physics, and fast-forward climates. Clearly a scientist who can see natural phenomena at the right size and the right speed learns more than one who is faced with a blur. Vem, när? 120828 DN1212 NUMPB12 6

The purpose of computing is insight, not numbers. (R.W.Hamming) The Unreasonable Effectiveness of Mathematics (1980) There are three kinds of lies: Lies, damn lies, and colorful computer pictures (P.Colella) B.Disraeli, M.Twain 120828 DN1212 NUMPB12 7

Nr. 1 June 2012: US LLNL BlueGéne Q 1.5 M cores 16 000 TF,... not Nr. 76 June 2012 120828 DN1212 NUMPB12 8

Helt dominerande program för ingenjörsberäkningar, numerisk analys, visualisering, 1974 Matrix Laboratory C.Moler Nu: MathWorks > 2200 pers. MATLAB 20-årsdag 2004: Varför MATLAB? Life is too short for writing do-loops C.Moler, 1974 120828 DN1212 NUMPB12 9

http://www.ima.umn.edu/~arnold/disasters/disasters.htm Have you been paying attention in your numerical analysis [...] courses? If not, it could be a costly mistake. Here are some real life examples...: The Patriot Missile failure, in Dharan, Saudi Arabia, February 25, 1991... poor handling of rounding errors. The explosion of the Ariane 5 rocket just after lift-off on its maiden voyage off French Guiana, on June 4, 1996,... the consequence of a simple overflow. The sinking of the Sleipner A offshore platform in Gandsfjorden near Stavanger, Norway, on August 23, 1991,... the result of inaccurate finite element analysis. 120828 DN1212 NUMPB12 10

MATLAB 1 rad: x = A\b; F77 50 rader... call msolve(n,a,rhs,sol)... subroutine msolve(n,a,b,x) implicit none integer n real*8 A(n,n),b(n),x(n) do i=1,n c Search for pivot element col = i row = i do j=i,n do k=i,n if(abs(a(p(k),q(j))).gt. abs(a(p(row),q(col)))) then row = k col = j endif enddo c end enddo Swap diagonal element with found pivot k = p(i) Intel x86 assembler 500 rader.file.section "msolve.f".rodata.str1.1,"ams",@progbits,1 120828 DN1212 NUMPB12 11.LC0:.L4:.string "Memory allocation failed".text.globl msolve_.type msolve_, @function msolve_: pushl %ebp %esp, %ebp pushl %edi pushl %esi pushl %ebx subl $108, %esp 8(%ebp), %ebx 12(%ebp), %eax 16(%ebp), %edx 20(%ebp), %ecx (%ebx), %esi %eax, -76(%ebp) %edx, -80(%ebp) %ecx, -84(%ebp) %esi, %eax notl %eax sarl $31, %eax andl %eax, %esi %esi, -20(%ebp) -20(%ebp), %eax notl %esi %esi, -56(%ebp) $0, -44(%ebp) sall $2, %eax je.l4 subl $12, %esp pushl %eax call malloc addl $16, %esp testl %eax, %eax %eax, -44(%ebp) je.l39 notl %ea (%ebx), %edx $0, -40(%ebp) %edx, %eax

MATLAB: (s = 3;) s = s + 2; PowerPC Assembler LD r14,[s] ADDI r14,r14,2 ST [s],r14 Minne 0 0 Nr. 102679 Minnesplats för s ( symbolisk adress ) Fysisk adress: 102679 3 CPU-register 5 r15 r14 r13 120828 DN1212 NUMPB12 12

Sverige Germund Dahlquist 1925-2005, KTH Svante Littmarck, Dr HC, KTH Huvudkontor Boston:150 Utveckling:Stockholm: 40 120828 DN1212 NUMPB12 13

ALGORITM Wikipedia: In mathematics and computer science, an algorithm ([ ] Muḥammad ibn Mūsā al-khwārizmī) is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning. A = 39; B = 4; while B ~= 0 if A > B A = A - B else B = B - A end end GCD = A - Fullst. beskrivning - Ändligt antal steg - Alla fall täcks in - Formalia: MATLAB 120828 DN1212 NUMPB12 14

Matematik, kontinuitet, reella tal, intervallhalvering: Om f är kontinuerlig på [a,b], f(a) < f(b), så finns för varje y, f(a) < y < f(b), ett x så att f(x) = y f = @(x) 3*sin(x)-0.5*x % matlabsyntax, senare a = 0; b = 1; % f(a) = 0, f(b) = 2 (ca.) y = 1.5; % vilket x ger f(x)= y? a < x < b %--------------------------------------------------------- while 1>0 % abs(a-b) > 1e-6 c = (a+b)/2; if f(c) > y % c upper bound, move b down to c b = c else % c lower bound, move a up to c a = c end end Tips: Algoritmen kan användas i Lab 1, Pumpa-gissning / Datorn gissar 120828 DN1212 NUMPB12 15

Kan man avgöra om en algoritm slutar? - Euklides, Intervallhalvering, Ja - Det finns ingen algoritm som avgör om en given algoritm slutar - Turing, Gödel, m fl. 120828 DN1212 NUMPB12 16