Programmierung mathematischer Probleme mit Matlab/Octave
1. Grundlagen
Matlab ist eines der verbreitetsten Tools zur numerischen Lösung verschiedener
Problemstellungen, ist aber als komerzielles Produkt nicht kostenlos. Octave ist ein
weitgehend kompatibler Matlab-Klon unter der GPL und frei verfügbar.
Im Kurs sollen Grundlagen zum Umgang mit Matlab ( oder Octave ) gelegt werden.
Kompatibilitätsprobleme zwischen Matlab und Octave werden bei einfachen Anwendungen
noch nicht auftreten, Spezialfälle sind aber zu testen.
Tutorials, Informationsmaterial etc. zu Matlab und Octave:
Hierbei wird nicht mehr zwischen Matlab und Octave unterschieden, alle angeführten
Scripte, Tutorien lassen sich im Umfang der Kompatibilität sowohl auf Matlab als auch
auf Octave anwenden.
Prinzipiell ist es aufgrund des Landesvertrages möglich, individuelle Matlab-Lizenzen zu beziehen, siehe dazu:
https://www.tu-chemnitz.de/urz/software/matlab_individual.php.
Da bei Verwendung von Matlab immer eine Verbindung zum Lizenzmanager bestehen muss (im Pool kein Problem, auf eigenen Laptos schon eher) verwenden wir
-- insbesondere durch die Einschränkungen bzgl. Coronakrise -- im Kurs den freien Matlab-Klon
octave
Zunächst sollte sich jeder dieses Octave installieren. Je nach Betriebsystem ist das mit einer Zeile oder
wenigen Mausklicks gemacht.
Aktuelle Linuxdistributionen haben octave in ihren Paketquellen bereits enthalten, Installation unter ubuntu
erfolgt also mittels:
Machen Sie sich zunächst mit der Verwendung der Matlab-Befehle tic und toc vertraut.
Nun erstellen Sie Matlab-Programme, die die folgenden Aufgaben einmal mit selbstgeschriebenen Schleifen
und zum anderen mit geschickt gewählten Matlab-Befehlen oder Matrix/Vektor-Operationen ausführen.
Minimum/Maximum eines Vektors
Wert und Index des Vektorelementes mit minimalem Abstand zu einem festen Wert
Skalarprodukt zweier Vektoren
Summe aller Komponenten eines Vektors
Gleitender Mittelwert (Weichspüler ;-) ) mit Fenstergößen 3,5,7,9 angewandt auf einen Zufallsvektor
Variieren Sie dabei die Dimension des Vektors, z.B. n=10,100 , 1000 ... ca. 100 Millionen, messen Sie die Laufzeiten und stellen Sie
dies alles in geeigneten Plots dar. Fazit ?