Main Content

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