Spalten aus einer Matrix in Octave extrahieren
In dieser Anleitung zeige ich Ihnen, wie Sie eine oder mehrere Spalten aus einem zweidimensionalen Array, also einer Matrix, in Octave auslesen können.
Lassen Sie uns das anhand eines praktischen Beispiels verdeutlichen.
Erzeugen Sie zunächst eine Matrix.
>> M = [ 1 2 3 ; 4 5 6 ; 7 8 9 ]
M =
1 2 3
4 5 6
7 8 9
Wir haben hier eine quadratische 3x3-Matrix mit drei Zeilen und drei Spalten.

Zum Auslesen der ersten Spalte der Matrix geben Sie einfach M(:, 1) ein.
- Mit dem Doppelpunkt im ersten Parameter nehmen Sie alle Zeilen der Matrix.
- Im zweiten Parameter steht die 1 für die erste Spalte, die ausgelesen werden soll.
>> M(:,1)
Mit diesem Befehl extrahieren Sie alle Werte aus der ersten Spalte der Matrix.
ans =
1
4
7

Zur Ausgabe der zweiten Spalte geben Sie M(:, 2) ein.
Behalten Sie den Doppelpunkt im ersten Parameter und setzen Sie eine 2 in den zweiten Parameter, um alle Elemente der zweiten Spalte auszugeben.
>> M(:,2)
ans =
2
5
8

Um die dritte Spalte auszugeben, tippen Sie M(:, 3).
Das führt zur Extraktion der dritten Spalte.
>> M(:,3)
ans =
3
6
9

Möchten Sie nur bestimmte Zeilen aus einer Spalte auslesen, definieren Sie den gewünschten Zeilenbereich im ersten Parameter.
Zum Beispiel extrahieren Sie die ersten beiden Zeilen der dritten Spalte mit M(1:2,3)
>> M(1:2,3)
ans =
3
6

Wenn die auszulesenden Zeilen nicht benachbart sind, fassen Sie die Zeilennummern in eckige Klammern im zweiten Parameter, getrennt durch Komma oder Leerzeichen.
Geben Sie zum Beispiel M([1 3],2) ein, um die erste und dritte Zeile der zweiten Spalte auszugeben.
>> M([1 3],2)
ans =
2
8

Natürlich können Sie auch mehrere Spalten aus der Matrix extrahieren.
So extrahieren Sie etwa die ersten beiden Spalten der Matrix mit M(:, 1: 2)
Der zweite Parameter definiert hier den Spaltenbereich, den Sie extrahieren möchten: 1: 2.
>> M(:,1:2)
ans =
1 2
4 5
7 8

Um mehrere nicht nebeneinanderliegende Spalten zu extrahieren, listen Sie die gewünschten Spaltennummern im zweiten Parameter in eckigen Klammern auf, getrennt durch Komma oder Leerzeichen.
Geben Sie also M(:, [1 3]) ein, um die erste und dritte Spalte auszugeben.
>> M([1 3],:)
ans =
1 3
4 6
7 9

Auf diese Weise können Sie Spalten aus einer Matrix extrahieren, auch wenn diese nicht nebeneinander liegen.