MMG410 V24 Numerisk analys

På denna sida finns programmet för kursen: föreläsningar, räkneövningar, datorlaborationer och duggor. Övriga uppgifter, såsom t.ex. kursmål, lärare, kurslitteratur och examination  och svar på tenta, finns i ett separat kurs-PM.

Program

Kursens schema finns i TimeEdit,  

Här är pdf file mes schema i 2024

Föreläsningar: tiden: 13:15 -15:00

Labbar, tiden: 15:15 - 17:00.

 

Deadlines  för labbar,  som ska lämnas via "Uppgift" i Canvas:

  • Lab. 1:  26.04.2024
  • Lab. 2: 15.05.2024
  • Lab. 3: 22.05.2024

Deadlines för duggor, som ska lämnas via "Uppgift" i Canvas:

Dugga 1: 08.04.2024

Dugga 2: 06.05.2024

Dugga 3: 20.05.2024

Du skall själv registrera dig och du bör ha fått information om hur detta går till. Om du skall omregistreras kontakta studieadministratör Jeanette Montell, jw@chalmers.se.

Kursinnehåll

  • Grundläggande egenskaper hos flyttalsräkning.
  • Grundläggande begrepp, felanalys och datoraritmetik.
  • Numerical Linear Algebra (NLA)  problem och minstakvadratproblem.
  • Några vanliga numeriska metoder för interpolation, derivering, integrering.
  • Lösning av ickelinjära ekvationer, system av linjära och
    ickelinjära ekvationer 
  • Lösning av  Ordinarie differentialekvationer.

Förslag till  formelblad

Grupper för BP övningar :

Första bokstav i familjenamn     Grupp

A - D          {A, B, C, D}                      1                              

E - H           {E,F,G,H}                          2

I - L              {I,J,K,L}                            3

M - Q          {M,N,O,P,R,Q}                4

R - Z           {R,S,T,U,V,W,X,Y,Z}          5

Föreläsningsanteckningar (  version 25.05.2023)  

 

Matlab/Python kod för problem i föreläsningarna

Zoom länk till föreläsningar  online ( meeting ID:  653 1019 9812 ,  passcode:    539823  )

Zoom länk till comp.labbar online (meeting ID: 684 6233 7783, Passcode: 203316 )

Jitsi länk till datorlabbar online

 

Föreläsningar och datorlabbar online är enligt schema, se också tabell nedan för tiden.

Kursansvarig: Larisa Beilina, larisa@chalmers.se

Labbhandledare:   Eric Lindström,   erilinds@chalmers.se  

                                 Alice Svärdström,   alicesv@chalmers.se

                                       

 

Läsvecka Plats Innehåll Sidor FA  Sidor bok Föreläsningar Notes
1

 

Zoom/Euler 

Intro. till ämnet, kursPM, detaljer om registrering. Olika typer av fel, konditionstal.  3-35

5-7, 12-15

 

 Föreläsning 1

Zoom video: nollställen till polynom

 

 

Zoom/Euler

Mer om konditionstal, bakåtfel, stabilitet. Början på flyttalsaritmetik.  Vi ska titta på övningar i kap.1,  1-7. 

 

36-57 8-10, 12-15, 16-22

Föreläsning 2

Flyttalnotes

 

Matlab program floatgui.m

 

Zoom/Euler

Resten av flyttalsaritmetik. Matrisfaktoriseringar. 

 

58-86 24-28, 49-52

Föreläsning  3

 

2

 

Zoom/Euler

Flyttalsaritmetik.

Övningar i kapitel 1. 

 

88-120 63-78, 85-87

Föreläsning  4

 

Lösning av Ax= b  via LU factorisering (Matlab kod)

 

Zoom/Euler

LU-faktorisering, lite rep. av matrisalgebra, stabilitet för LU, LDLT  och Cholesky-faktorisering, Positivt definita matriser samt några egenskaper, energier.

 

121-141 49-63

Föreläsning 5

 

 

Hessian. Störningsteori. Vektornormer. Matrisnormer. Sedan vi kommer att titta på övn. i kap.3, 1-13, 14-20.
3

 

Zoom/Euler

Konditionstalet för problemet Ax=b. Störningsteori för Ax=b. Vi kommer att titta på övn. i kap. 3. 

142-

163

53-63

Föreläsning 6

 

Zoom/Euler

Parameteranpassningsproblem. Minstakvadratproblem. Exempel 1: polynomial fitting via Cholesky. Exempel 2: anpassning till rät linje.

164-

181

105-113

Föreläsning 7

Föreläsning 7, del 2

 

 

 

Zoom/Euler

Något om konditionstalet för minstakvadratproblemet. Något om unitärt invarianta normer och metoder för att lösa minstakvadratproblemet.

Övningar  i kap. 4

Exempel: lsqnonlin

182-

210

Föreläsning  8

4

 

Zoom/Euler

Ickelinjära ekvationer.  Exempel: halvering, sekant och Newton's metoden.

Övningar i kap. 4

Matlab's kod: halvering, sekant och Newton's metoden.

211-

237

113-118

Föreläsning 9

 

Zoom/Euler

Konvergensordning.

Metodoberoende feluppskattningen. Avbrottskriterium. Modifierad Newton. Början på fixpunktsiteration.   Exempel: halvering, sekant och Newton's metoden för f(x) = x - cos(x)=0.

238-

254

216-221

229-233

Föreläsning 10

 

 

Zoom/Euler

Fixpunktsiteration.

Matlab kod för iterativa methoder (halverings, sekant, Newton)

255-

271

222-233

 

Föreläsning 11

5

 

Zoom/Euler

 

 Övningar i kapitel 5.

 

 

 

Zoom/Euler

Början på interpolation.  

Matlab  kod för interpolation

272-

304

309-321

För.12-13

 

Zoom/Euler

Mer om interpolation.  
Splines. Vi kommer att räkna övn. i  i kap. 6. 

305-

332

321-331

Föreläsning  14

 

Zoom/Euler

Början på numerisk integration. 

Matlab kod: integration i Matlab

333-375

339-350

Föreläsning 15

 

 

7

 

Zoom/Euler

Resten av integration.  

Övningar i kap. 7

376-

400

351-359

382-398

Föreläsning 16

 

 

Zoom/Euler

 ODE. Exempel: framåt Eulers metod och ode45 i Matlab.

 

Exempel:ODE45 för system

Programmet  använder:

funcsystem_ode45.m

func1_sys.m

func2_sys.m

401-

429

382-387

Föreläsning 17

 

Zoom/Euler

 

Resten av ODE:   felkällor, ordning, existens, entydighet, flerstegsmetoder,  stabilitet, adaptivitet, styva problem, implicita metoder. 

 

430-

471

387-409

Föreläsning 18

 

Zoom/Euler

 

BVP problem.

Övningar i kap.  8. Genomgång över kursen.

Svar på frågor.

 Föreläsning 19
31.05.2024

 

14:00-18:00

Tentamen Frågor till teoretiska delen
Augusti 2024

 

14:00-18:00

 Tentamen

 

Tillbaka till toppen

Rekommenderade övningsuppgifter

Övningar utan svar (Kapitel 1-8)

Övningar  med svar (Kapitel 1-8)

 

Kapitel Uppgifter Lösningar  Video svar
1: flyttalsaritmetik  2,3,4,5,6,7,8

Kapitel 1

Kapitel1(med svar)

2: konditionstal,         stabilitet  1,2,3,7,8,12

Kapitel 2

 

Kapitel2(med svar)

 

 

3: linjära ekvationssystem 1,4,5,7,8,9,10,12,13,16,17,18,19

Kapitel 3

Kapitel 3(med svar)

4: minstakvadratproblem 2,4,5

Kapitel 4

Kapitel 4(med svar)

5: ickelinjära ekvationer 1,5,6,7,8,9,10,11,12,14

Kapitel 5

Kapitel 5(med svar)

6: interpolation 1,2,3,4,5,7,8,9

Kapitel 6

Kapitel 6(med svar)

7: kvadratur 1,2,3,4,5,6,7

Kapitel 7

Kapitel 7(med svar)

8: ordinärä differentialekvationer 1,2,3,4,5,6,7,8,9,10

Kapitel 8

Kapitel 8(med svar)

 

 

Tillbaka till toppen

Datorlaborationer

I kursen ingår också tre obligatoriska laborationer som skall utföras i grupper om precis två personer (pga resursbrist).

Laborationer kan göras i Matlab eller i Python -  ni ska välja själv.

Se  länkar för labbar nedan.

Förslag till uppdelning i grupper:  kommer finnas här senare efter diskussioner med kursmedlemmar.

Varje grupp  har nummer mellan 1 och N och medlemmar i varje grupp kan kommunicera via jitsi länk:

https://meet.jit.si/mmg410complabgrupp#

var istället för # varje grupp ska skriva  gruppnummer  (mellan 1 och N).

 

Det är inte tillåtet att kopiera andra gruppers kod eller idéer. Det betraktas som fusk (och man lär sig inget av det). Fråga labbhandledaren om du kör fast:

Labbhandledare:         Eric Lindström,  erilinds@chalmers.se    

                                       Alice Svärdström,   alicesv@chalmers.se

                                          

Labbhandledning ska vara i MVF24/MVF25 och via Zoom. Zoom-länk för datorlabbar är samma, som för föreläsningar.

 Zoom länk  är på kursens sida ovan.

Länk  till  Använda StuDAT hemifrån

 

Alla labbar ska lämnas i form av skriftlig rapport  till labbhandledarna  via Canvas. 

Exempel på  skriftlig rapport, pdf file

Exempel på skriftlig rapport, tex file

 

 Matlab/Python  kode ska skickas   också, se instruktioner för varje laboration nedan.  Skriftlig rapport i form av pdf file   och

Matlab/Python  kode ska laddas   via Canvas, se deadline för varje   labb   nedan. Redovisa en lab  så fort du är färdig.

Matlab/Python kod för problem i föreläsningarna

 

Laborationer i Matlab

Laboration  1

Laboration  2

Laboration  3

 

Laborationer i Python 

Laboration 1

Laboration 2

Laboration 3

Pythons program Labb3Animation.py

 

Matlab/Python kod för problem i föreläsningarna

 

På Chalmers/GU Spyder kan startas som

/chalmers/groups/anaconda/anaconda2021/bin/spyder


Anaconda kan startas som:

/chalmers/groups/anaconda/anaconda2021/bin/anaconda-navigator

 

Deadlines  för labbar,  som ska lämnas via "Uppgift" i Canvas:

  • Lab. 1:  26.04.2024
  • Lab. 2: 15.05.2024
  • Lab. 3: 22.05.2024

Referenslitteratur för Matlab:

  1. Material utvecklat av MV som ger en kortfattad introduktion till Matlab
  2. Programmering med Matlab,  Katarina Blom. Ger en introduktion till Matlab och lär ut grunderna i programmering med Matlab. Rekommenderas varmt för dig som är nybörjare både vad gäller programmering och Matlab.
  3. Learning MATLAB, Tobin A. Driscoll. Ger en kortfattad introduktion till Matlab till den som redan kan programmera. Finns som e-bok på Chalmers bibliotek.
  4. Physical Modeling in MATLAB 3/E, Allen B. Downey
    Boken är gratis att ladda ner från nätet. Boken ger en introduktion för dig som inte programmerat förut. Den täcker grundläggande MATLAB-programmering med fokus på modellering och simulation av fysikaliska system.

Referenslitteratur för Python:

Python (basic arithmetics, strings, lists)

Python (if and loops)

Python (functions)

Scipy/Numpy (vectors, linear algebra)

Scipy/Numpy (interpolation)

Sympy (symbolic computation)

 

Scientific Python (SciPy)  user guide

Numerical Python (NumPy) user guide

Matrices in Python (Sympy)

Least squares (LES)  solvers, systems of LES, solving differential equations (DE), solving Ordinary Differential Equations (ODE) (Sympy)

Tillbaka till toppen

Duggor

Vi ska ha 3 bonuspoängövningar  under kursen, som ska utföras i en grupp. Hela gruppen kan få max 0.5 bp.  för varje  övningstillfälle, max 1.5 b.p. för hela kursen. Tider för bonuspoängövningar finns på kursens hemsida och är planerade till: 

08.04.2024

06.05.2024

20.05.2024

 

Varje grupp  har nummer mellan 1 och 5 och medlemmar i varje grupp kan kommunicera via jitsi länk:

https://meet.jit.si/mmg410bpgrupp#

var istället för # varje grupp ska skriva  gruppnummer  (mellan 1 och 5).

 

Tillbaka till toppen

Kurssammanfattning:

Kurssammanfattning
Datum Information Sista inlämningsdatum