Matrix-Zeilen oder -Spalten in Octave löschen

In dieser Lektion möchten wir darauf eingehen, wie Zeilen oder Spalten aus einer Matrix in Octave entfernt werden können.

Lassen Sie uns dies anhand eines praktischen Beispiels verdeutlichen.

Zunächst erstellen Sie eine 3x3 Quadratmatrix und weisen Sie diese der Variablen M zu.

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

Unsere Matrix M besteht aus drei Zeilen und drei Spalten.

Mit dem Befehl M(1,:)=[ ] entfernen Sie die erste Zeile der Matrix.

>> M(1,:)=[ ]
M =
4 5 6
7 8 9

Was passiert hier?

  • Mit der 1 als erstem Parameter M(1, :) wird die erste Zeile der Matrix M ausgewählt.
  • Mit dem Doppelpunkt (:) im zweiten Parameter M(1, :) werden alle Spalten ausgewählt.

Der Befehl M(1,:)=[ ] wählt alle Spalten der ersten Zeile aus und weist ihnen einen leeren Wert [] zu.

$$ \begin{pmatrix} \not{1} & \not{2} & \not{3} \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$

Die erste Zeile der Matrix M wird entfernt.

Das Ergebnis ist eine 2x3 Matrix mit zwei Zeilen und drei Spalten.

$$ \begin{pmatrix} 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$

Um weitere Zeilen zu löschen, geben Sie die entsprechende Zeilennummer ein, die Sie entfernen möchten. Zum Beispiel M(2,:)=[ ], um die zweite Zeile der Matrix zu entfernen. Der Index der ersten Zeile ist 1, der der zweiten Zeile ist 2 usw.

Lassen Sie uns ein weiteres Beispiel betrachten.

Wir erstellen die 3x3 Matrix erneut.

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

Nun führen Sie den Befehl M(:, 3)=[ ] aus, um die dritte Spalte aus der Matrix zu entfernen.

>> M(:,3)=[ ]
M =
1 2
4 5
7 8

Der Befehl M(:, 3)=[ ] wählt alle Zeilen (:) der dritten Spalte der Matrix und weist ihnen einen leeren Wert [ ] zu.

$$ \begin{pmatrix} 1 & 2 & \not{3} \\ 4 & 5 & \not{6} \\ 7 & 8 & \not{9} \end{pmatrix} $$

Die dritte Spalte wird aus der Matrix entfernt.

$$ \begin{pmatrix} 1 & 2 \\ 4 & 5 \\ 7 & 8 \end{pmatrix} $$

Wir erhalten eine 3x2 Matrix mit drei Zeilen und zwei Spalten.

Wie gehen Sie vor, wenn Sie mehrere Zeilen oder Spalten löschen möchten?

Wenn es darum geht, mehrere Zeilen oder Spalten aus der Matrix zu entfernen, geben Sie die Liste der zu löschenden Spalten oder Zeilen in eckigen Klammern an.

Zum Beispiel erstellen Sie eine 4x4 Quadratmatrix mit vier Zeilen und vier Spalten.

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

Mit dem Befehl M([1 4],:)=[ ] entfernen Sie die erste und die letzte Zeile der Matrix.

Geben Sie die Zeilennummern, die gelöscht werden sollen, im ersten Parameter des Befehls in eckigen Klammern an, getrennt durch ein Leerzeichen oder ein Komma.

>> M([1 4] ,:)=[ ]
M =
5 6 7 8
9 8 7 6

Mit diesem Befehl werden die erste und vierte Zeilen der Matrix entfernt.

$$ \begin{pmatrix} \not{1} & \not{2} & \not{3} & \not{4} \\ 5 & 6 & 7 & 8 \\ 9 & 8 & 7 & 6 \\ \not{5} & \not{4} & \not{3} & \not{2} \end{pmatrix} $$

Das Ergebnis ist eine 2x4 Matrix.

$$ \begin{pmatrix} 5 & 6 & 7 & 8 \\ 9 & 8 & 7 & 6 \end{pmatrix} $$

Mit dem Befehl M(:,[2 3 4])=[ ] entfernen Sie die zweite, dritte und vierte Spalte der Matrix.

In diesem Fall besteht die Liste der zu löschenden Spalten [2 3 4] aus drei Spalten.

>> M(:,[2 3 4])=[ ]
M =
5
9

Mit diesem Befehl werden die zweite, dritte und vierte Spalten der Matrix entfernt.

$$ \begin{pmatrix} 5 & \not{6} & \not{7} & \not{6} \\ 9 & \not{8} & \not{7} & \not{6} \end{pmatrix} $$

Das Endergebnis ist eine 2x1 Matrix, die als Spaltenvektor bezeichnet wird.

$$ \begin{pmatrix} 5 \\ 6 \end{pmatrix} $$

Ein paar abschließende Hinweise.

Wenn Sie fortlaufende Zeilen oder Spalten löschen möchten, ist es sinnvoll, das Intervall zwischen der ersten und der letzten anzugeben, indem Sie einen Doppelpunkt als Trennzeichen verwenden.

Beispielsweise können Sie den Befehl M(:,[2:4])=[ ] verwenden, um die zweite, dritte und vierte

Spalte der Matrix M zu löschen. Hiermit geben Sie das Intervall [2:4] anstelle der Liste [2 3 4] an.

>> M(:,[2:4])=[ ]
M =
5
9

Das Endergebnis bleibt das Gleiche. Die Spalten werden aus der Matrix entfernt.

 
 

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

FacebookTwitterLinkedinLinkedin

Arrays in Octave

Matrizen in Octave

FAQ

Struct und Zellenarray