Extraktion einzelner oder mehrerer Spalten aus einer Matrix in Matlab
In dieser Lektion möchte ich Ihnen zeigen, wie man eine oder mehrere Spalten aus einer Matrix (zweidimensionales Array) in Matlab herauslöst.
Anhand eines Beispiels werde ich diesen Vorgang veranschaulichen.
Erstellen wir zuerst eine 3x3 Matrix in der Matlab-Umgebung.
>> M = [ 1 2 3 ; 4 5 6 ; 7 8 9 ]
M =
1 2 3
4 5 6
7 8 9
Bei dieser Matrix handelt es sich um eine quadratische Matrix, da sie gleich viele Zeilen wie Spalten aufweist.

Um die erste Spalte der Matrix zu selektieren, verwenden Sie den Befehl M(:,1).
- Setzen Sie im ersten Parameter in Klammern das Doppelpunkt-Symbol :, um sämtliche Zeilen in der Matrix auszuwählen
- Geben Sie im zweiten Parameter die Zahl 1 ein, um die erste Spalte der Matrix zu selektieren
>> M(:,1)
Damit extrahieren Sie alle Elemente, die sich in der ersten Spalte der Matrix befinden.
ans =
1
4
7

Geben Sie nun M(:,2) ein, um die zweite Spalte zu extrahieren.
Hierbei wird durch die Angabe der Zahl 2 im zweiten Parameter die zweite Spalte ausgewählt.
>> M(:,2)
ans =
2
5
8

Zuletzt können Sie mit M(:,3) die dritte Spalte extrahieren:
>> M(:,3)
ans =
3
6
9

Möchten Sie nur bestimmte Zeilen einer Spalte extrahieren, so geben Sie den gewünschten Zeilenbereich im ersten Parameter ein.
Um beispielsweise nur die ersten beiden Zeilen der dritten Spalte zu bekommen, verwenden Sie M(1:2,3):
>> M(1:2,3)
ans =
3
6

Für nicht aufeinanderfolgende Zeilen fügen Sie die Zeilennummern, getrennt durch Komma oder Leerzeichen, in eckigen Klammern ein.
So extrahieren Sie beispielsweise die erste und dritte Zeile der zweiten Spalte mit M([1 3],2):
>> M([1 3],2)
ans =
2
8

Um mehrere Spalten gleichzeitig zu extrahieren, definieren Sie einfach den Spaltenbereich im zweiten Parameter des Befehls.
Der Befehl M(:,1:2) beispielsweise selektiert die ersten beiden Spalten der Matrix:
>> M(:,1:2)
ans =
1 2
4 5
7 8

Für die Auswahl nicht zusammenhängender Spalten geben Sie einfach eine Liste der gewünschten Spaltennummern, getrennt durch Leerzeichen oder Komma, in eckigen Klammern an.
So extrahieren Sie zum Beispiel die erste und dritte Spalte der Matrix mit M(:,[1 3]):
>> M([1 3],:)
ans =
1 3
4 6
7 9

Dieser Befehl ermöglicht es Ihnen, zwei oder mehr Spalten einer Matrix zu extrahieren, auch wenn diese nicht nebeneinander liegen.