Matrizen und Arrays
MATLAB ist die Abkürzung für Matrix Laboratory. Während andere Programmiersprachen meist jeweils nur mit einer Zahl arbeiten, können Sie in MATLAB® primär mit ganzen Matrizen und Arrays arbeiten.
Alle MATLAB Variablen sind mehrdimensionale Arrays, ganz gleich, um welchen Datentyp es sich handelt. Eine Matrix ist ein zweidimensionales Array, das häufig für lineare Algebra verwendet wird.
Erstellen von Arrays
Um ein Array mit vier Elementen in einer einzelnen Zeile zu erstellen, trennen Sie die Elemente entweder mit einem Komma (,
) oder einem Leerzeichen.
a = [1 2 3 4]
a = 1×4
1 2 3 4
Bei diesem Arraytyp handelt es sich um einen Zeilenvektor.
Um eine Matrix mit mehreren Zeilen zu erstellen, trennen Sie die Zeilen mit Strichpunkten.
a = [1 3 5; 2 4 6; 7 8 10]
a = 3×3
1 3 5
2 4 6
7 8 10
Eine weitere Möglichkeit zum Erstellen einer Matrix ist die Verwendung einer Funktion, zum Beispiel ones
, zeros
oder rand
. Beispielsweise können Sie einen 5x1-Spaltenvektor aus Nullen erstellen.
z = zeros(5,1)
z = 5×1
0
0
0
0
0
Matrix- und Array-Operationen
MATLAB ermöglicht Ihnen die Verarbeitung aller Werte in einer Matrix mithilfe einzelner arithmetischer Operatoren oder Funktionen.
a + 10
ans = 3×3
11 13 15
12 14 16
17 18 20
sin(a)
ans = 3×3
0.8415 0.1411 -0.9589
0.9093 -0.7568 -0.2794
0.6570 0.9894 -0.5440
Verwenden Sie zum Transponieren einer Matrix ein einfaches Anführungszeichen ('
):
a'
ans = 3×3
1 2 7
3 4 8
5 6 10
Sie können eine Standard-Matrixmultiplikation ausführen, bei der die inneren Produkte zwischen Zeilen und Spalten mithilfe des Operators *
berechnet werden. Bestätigen Sie zum Beispiel, dass eine mit ihrem Kehrwert multiplizierte Matrix die Identitätsmatrix zurückgibt:
p = a*inv(a)
p = 3×3
1.0000 0.0000 -0.0000
0 1.0000 -0.0000
0 0.0000 1.0000
Beachten Sie, dass p
keine Matrix ganzzahliger Werte ist. MATLAB speichert Zahlen als Gleitkommawerte und arithmetische Operationen sind anfällig für kleine Unterschiede zwischen dem tatsächlichen Wert und seiner Darstellung als Gleitkommazahl. Mithilfe des Befehls format
können Sie eine größere Anzahl an Dezimalstellen anzeigen:
format long
p = a*inv(a)
p = 3×3
0.999999999999996 0.000000000000007 -0.000000000000002
0 1.000000000000000 -0.000000000000003
0 0.000000000000014 0.999999999999995
Mit dem folgenden Befehl setzen Sie die Anzeige auf ein kürzeres Format zurück:
format short
format
wirkt sich nur auf die Anzeige von Zahlen aus, nicht jedoch auf die Art und Weise, wie MATLAB diese berechnet oder speichert.
Zum Ausführen einer elementweisen Multiplikation anstelle einer Matrixmultiplikation verwenden Sie den Operator .*
:
p = a.*a
p = 3×3
1 9 25
4 16 36
49 64 100
Die Matrixoperatoren für Multiplikation, Division und Potenz weisen jeweils einen entsprechenden Arrayoperator auf, der sich elementweise auswirkt. Erheben Sie zum Beispiel jedes Element von a
in die dritte Potenz:
a.^3
ans = 3×3
1 27 125
8 64 216
343 512 1000
Verknüpfung
Unter Verknüpfung versteht man das Verbinden von Arrays, um größere Arrays zu erstellen. Tatsächlich haben Sie Ihr erstes Array durch Verknüpfung seiner Einzelelemente erstellt. Die eckigen Klammern []
sind dabei der Verknüpfungsoperator.
A = [a,a]
A = 3×6
1 3 5 1 3 5
2 4 6 2 4 6
7 8 10 7 8 10
Die Verknüpfung von Arrays nebeneinander mithilfe von Kommas wird horizontale Verknüpfung genannt. Jedes Array muss dieselbe Anzahl von Zeilen aufweisen. Ähnlich können Sie Arrays, sofern sie dieselbe Anzahl von Spalten aufweisen, mithilfe von Strichpunkten vertikal verknüpfen.
A = [a; a]
A = 6×3
1 3 5
2 4 6
7 8 10
1 3 5
2 4 6
7 8 10
Komplexe Zahlen
Komplexe Zahlen bestehen aus einem Real- und einem Imaginärteil, wobei die imaginäre Einheit die Quadratwurzel von -1
ist.
sqrt(-1)
ans = 0.0000 + 1.0000i
Zur Darstellung des Imaginärteils komplexer Zahlen verwenden Sie entweder i
oder j
.
c = [3+4i, 4+3j; -i, 10j]
c = 2×2 complex
3.0000 + 4.0000i 4.0000 + 3.0000i
0.0000 - 1.0000i 0.0000 +10.0000i