Anpassen der Zeilen- und Spaltenanzahl einer Matrix in Matlab

In dieser Lektion zeige ich Ihnen, wie Sie die Anzahl der Zeilen und/oder Spalten einer Matrix in Matlab anpassen können, ohne die Gesamtzahl der Elemente in der Matrix zu verändern.

Lassen Sie uns dies anhand eines praktischen Beispiels veranschaulichen.

Erstellen Sie zunächst eine rechteckige 3x2 Matrix mit drei Zeilen und zwei Spalten.

>> M = [ 1 2 ; 3 4 ; 5 6 ]
M =
1 2
3 4
5 6

Verwenden Sie jetzt die Funktion reshape(M,2,3), um diese Matrix in eine 2x3 Matrix mit zwei Zeilen und drei Spalten umzuformen.

>> reshape(M,2,3)
ans =
1 5 4
3 2 6

Beachten Sie, dass die Zielmatrix die gleiche Anzahl an Elementen beibehalten muss.

So können Sie beispielsweise die Matrix auch in einen Zeilenvektor umwandeln, indem Sie reshape(M,1,6) eingeben.

>> reshape(M,1,6)
ans =
1 3 5 2 4 6

Oder in einen Spaltenvektor, durch Eingabe von reshape(M,6,1).

>> reshape(M,6,1)
ans =
1
3
5
2
4
6

In jedem dieser Fälle bleibt die Anzahl der Elemente konstant.

Hinweis: Ein Vektor ist eigentlich eine spezielle Form der Matrix, entweder mit nur einer Zeile (1x6) oder nur einer Spalte (6x1).

Sie können auch einen Vektor in eine Matrix umwandeln.

Erstellen Sie beispielsweise einen Vektor mit acht Elementen.

>> v = [ 1 2 3 4 5 6 7 8 ]
v =
1 2 3 4 5 6 7 8

Verwandeln Sie anschließend den Vektor in eine 2x4 Matrix mit zwei Zeilen und vier Spalten, indem Sie reshape(v,2,4) eingeben.

>> reshape(v, 2, 4)
ans =
1 3 5 7
2 4 6 8

Die Matrix enthält nun dieselbe Anzahl von Elementen wie der ursprüngliche Vektor.

Alternativ können Sie den Vektor auch in eine 4x2 Matrix umwandeln, indem Sie reshape(v,4,2) eingeben.

>> reshape(v, 4, 2)
ans =
1 5
2 6
3 7
4 8

Auf diese Weise können Sie beliebige Vektoren in Matrizen umwandeln und umgekehrt, solange die Gesamtzahl der Elemente gleich bleibt.

Ein Fehler tritt auf, wenn sich die Anzahl der Elemente unterscheidet.

So können Sie beispielsweise eine 4x2 Matrix nicht in eine 3x3 Matrix umwandeln, da die erste Matrix 8 Elemente und die zweite 9 Elemente enthält.

In solch einem Fall gibt der reshape()-Befehl eine Fehlermeldung zurück.

>> reshape(M,3,3)
Fehler bei reshape
Die Anzahl der Elemente darf sich nicht ändern. Verwenden Sie [ ], um die Größe für diese Dimension automatisch zu berechnen

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Matrizen in Matlab

Häufig gestellte Fragen