Mittwoch, 16. September 2015

Matlab Tutorial Teil 2 - Vektoren und Matrizen

Nachdem ich im vorigen Post eine kleine Einführung in die Programmiersprache Matlab gegeben habe, möchte ich mit diesem Post nun daran anknüpfen.
Im heutigen Teil geht es um die Verwendung von Matrizen und Vektoren, für welche die Sprache besonders ausgelegt ist, und welche sehr bequem gehandhabt werden können.
Eine Matrix wird in eckigen Klammern definiert, Einträge einer Zeile werden per Komma getrennt, Zeilen durch Semikolon, also zum Beispiel: A = [1, 2; 3, 4]
Vektoren sind natürlich nur Spezialfälle einer Matrix, nämlich eindimensionale Matrizen. Dementsprechend können sie mit V1 = [1, 2] (Zeilenvektor) oder V2 = [3;4] (Spaltenvektor) definiert werden - im folgenden wird nur noch der Begriff Matrix verwendet.
Es gibt verschiedene vordefinierte Matlab Funktionen mit welchen bestimmte Matrizen erzeugt werden können: Hier möchte ich ones(), zeros() und rand() erwähnen.
ones(a, b) erzeugt eine a x b Matrix (a Zeilen, b Spalten) bei der alle Einträge 1 sind. Dies kann auch für höhere Dimensionen gemacht werden, wird nur ein Parameter übergeben wird eine 2-dimensionale quadratische Matrix erzeugt.
zeros() und rand() tun das gleiche, zeros() füllt die resultierende Matrix mit Nullen, rand() mit zufälligen Einträgen zwischen 0 und 1.
Mit Matrizen kann wie gewohnt umgegangen werden. Mit +, -, * können also Matrixaddition, -subtration und -multiplikaton durchgeführt werden. * ist überladen und kann auch für eine Skalarmultiplikation zwischen einem Skalar (einer Zahl) und einer Matrix verwendet werden.
In der Matlab Dokumentation sind alle möglichen Funktionen zum Umgang mit Matrizen aufgeführt, wie zum Beispiel die Rangbestimmung (rank()) und und und.
Eine weitere interessante Funktion beim Umgang mit Matrizen ist die Extraktion von Untermatrizen.
Wir können wie folgt die Untermatrix einer Matrix A, welche aus den Zeilen a bis b und Spalten c bis d besteht auswählen: A(a:b, c:d)
Wir können eine Dimension komplett wählen indem wir dafür nur den Doppelpunkt übergeben: A(:, c:d)
Mit der Funktion sum() können wir so zum Beispiel bequem über die Spalten / Zeilen einer Matrix summieren, für Zeile i lautet der Befehl dafür: sum(A(1,:))
Im nächsten Post werde ich eine weitere interessante Anwendung zeigen, dort geht es um das Lösen von Gleichungssystemen.

Keine Kommentare:

Kommentar veröffentlichen