Estrarre una o più colonne di una matrice su Octave
In questa lezione ti spiego come fare a estrarre una colonna o più colonne da un array bidimensionale (matrice) su Octave.
Ti faccio un esempio pratico.
Crea una matrice.
>> M = [ 1 2 3 ; 4 5 6 ; 7 8 9 ]
M =
1 2 3
4 5 6
7 8 9
E' una matrice quadrata 3x3 con tre righe e tre colonne.
Per estrarre la prima colonna della matrice digita M(:,1)
- Nel primo parametro digita il simbolo dei due punti : per prendere tutte le righe della matrice
- Nel secondo parametro scrivi 1 per prendere solo la prima colonna della matrice
>> M(:,1)
Questo comando estrae tutti i valori sulla prima colonna della matrice
ans =
1
4
7
Per estrarre la seconda colonna della matrice digita M(:,2)
Lascia i due punti : nel primo parametro e indica il numero 2 nel secondo parametro per prendere tutti gli elementi della seconda colonna della matrice.
>> M(:,2)
ans =
2
5
8
Infine, per estrarre la terza colonna della matrice digita M(:,3)
In questo modo estrai solo la terza colonna della matrice.
>> M(:,3)
ans =
3
6
9
Se vuoi estrarre solo alcune righe di una colonna, scrivi nel primo parametro l'intervallo delle righe da considerare.
Ad esempio, per estrarre solo le prime due righe della terza colonna digita M(1:2,3)
>> M(1:2,3)
ans =
3
6
Se le righe da considerare non sono vicine tra loro, scrivi nel secondo parametro l'elenco delle righe tra parentesi quadre separandole tra loro con una virgola o uno spazio.
Ad esempio, per estrarre la prima e la terza riga della seconda colonna digita M([1 3],2)
>> M([1 3],2)
ans =
2
8
Puoi anche estrarre due o più colonne dalla matrice.
Ad esempio, per estrarre le prime due colonne della matrice digita M(:,1:2)
Nel secondo parametro indica l'intervallo delle colonne 1:2 che vuoi prendere
>> M(:,1:2)
ans =
1 2
4 5
7 8
Per estrarre due o più colonne separate tra loro, scrivi nel secondo parametro l'elenco delle colonne da estrarre tra parentesi quadre separandole tra loro con uno spazio o una virgola.
Ad esempio, per estrarre la prima e la terza colonna della matrice digita M(:,[1 3])
>> M([1 3],:)
ans =
1 3
4 6
7 9
In questo modo puoi estrarre le colonne della matrice anche se non sono vicine tra loro.