Matlab er et slagkraftigt programmerisngssprog, når det bruges
rigtigt. Dette kursus fokuserer på design og udvikling af
videnskabelig software som udnytter Matlabs matrix-orienterede og
optimerede faciliteter. Centralt i kurset er teknikker til effektiv
kode, herunder Matlab-specifikke teknikker som vektorisering og
brug af sparse matricer, samt brug af parallelle faciliteter og
interfacing til C-kode via MEX. Desuden lærer man at programmere
grafiske elementer og bruger-grænseflader, og hvordan man bruger
Matlab på et cluster.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
analysere eksisterende kode og optimere den med passende
teknikker
anvende indbyggede Matlab-værktøjer til at identificere
flaskehalse og fejl i kode
designe og implementere effektive Matlab-programmer i større
ingeniørberegninger
sammenligne og vælge mellem sparse og full matrix
datastrukturer i givne applikationer
forklare og anvende interfacing med Matlab til andre programmer
(MEX)
forklare og anvende Matlabs parallelle faciliteter (Parallel
Computing Toolbox)
eksekvere Matlab-programmer i et batch-job-miljø på et
cluster
forklare og anvende Handle Graphics til at tilpasse udseende af
plots
designe og implementere grafiske brugerflader (GUIs) for
Matlab-programmer
beskrive, diskutere og evaluere egne Matlab-programmer og
resultater i rapportform
samarbejde i mindre grupper om projekter inspireret af
virkelige tekniske problemstillinger
Kursusindhold:
Matlab programmering: array-notation og operationer
(vektorisering), matrix-funktioner, sparse matricer, debugging og
profilering.
GUIs: Graphical User Interfaces i Matlab. Handle graphics.
Udnyttelse af parallel hardware, både multi-core og cluster.
Bemærkninger:
De to obligatoriske projekter kræver et grundlæggende kendskab til
numeriske beregninger og lineær algebra.