Come rimuovere righe o colonne di una matrice su Octave
In questa lezione ti spiego come cancellare una riga o una colonna da una matrice quando utilizzi Octave
Ti faccio un esempio pratico
Crea una matrice quadrata 3x3 e assegnala alla variabile M
>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
La matrice M ha tre righe e tre colonne.
Ora digita il comando M(1,:)=[ ] per cancellare la prima riga della matrice
>> M(1,:)=[ ]
M =
4 5 6
7 8 9
Come funziona questo comando?
- Il numero 1 nel primo parametro M(1,:) seleziona la prima riga della matrice M
- Il carattere con il simbolo dei due punti (:) nel secondo parametro M(1,:) seleziona tutte le colonne
Pertanto, il comando M(1,:)=[ ] seleziona tutte le colonne della prima riga e gli assegna un valore nullo [ ].
$$ \begin{pmatrix} \not{1} & \not{2} & \not{3} \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$
La prima riga della matrice M viene cancellata.
Il risultato finale è una matrice 2x3 con due righe e tre colonne.
$$ \begin{pmatrix} 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$
Nota. Per eliminare le altre righe indica il numero della riga che vuoi rimuovere. Ad esempio, per cancellare la seconda riga della matrice digita M(2,:)=[ ]. Il numero indice della prima riga è 1, quello della seconda riga è 2, e via dicendo.
Ti faccio un altro esempio pratico
Crea di nuovo la matrice 3x3
>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
Ora digita M(:,3)=[ ] per cancellare la terza colonna dalla matrice
>> M(:,3)=[ ]
M =
1 2
4 5
7 8
Il comando M(:,3)=[ ] seleziona tutte le righe (:) della terza colonna della matrice e gli assegna un valore nullo [ ].
$$ \begin{pmatrix} 1 & 2 & \not{3} \\ 4 & 5 & \not{6} \\ 7 & 8 & \not{9} \end{pmatrix} $$
La terza colonna viene eliminata dalla matrice.
$$ \begin{pmatrix} 1 & 2 \\ 4 & 5 \\ 7 & 8 \end{pmatrix} $$
Il risultato finale è una matrice 3x2 con tre righe e due colonne.
Come si fa a eliminare più righe o colonne?
Quando devi rimuovere più righe o più colonne della matrice indica la lista delle colonne o delle righe che vuoi cancellare tra parentesi quadre
Ad esempio, crea una matrice quadrata 4x4 con quattro righe e quattro colonne.
>> 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
Ora digita il comando M([1 4] ,:)=[ ] per cancellare la prima riga e l'ultima riga della matrice.
Scrivi la lista delle righe da eliminare tra parentesi quadre [ 1 4 ] nel primo parametro del comando, separando i numeri delle righe tra loro con uno spazio o una virgola.
>> M([1 4] ,:)=[ ]
M =
5 6 7 8
9 8 7 6
Il comando M([1 4] ,:)=[ ] elimina la prima e la terza riga della matrice
$$ \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} $$
Il risultato è una matrice 2x4
$$ \begin{pmatrix} 5 & 6 & 7 & 8 \\ 9 & 8 & 7 & 6 \end{pmatrix} $$
Adesso digita il comando M(:,[2 3 4])=[ ] per eliminare la seconda, la terza e la quarta colonna della matrice.
In questo caso la lista delle colonne da cancellare [ 2 3 4 ] è formata da tre colonne
>> M(:,[2 3 4])=[ ]
M =
5
9
Il comando M(:,[2 3 4])=[ ] cancella la seconda, la terza e la quarta colonna della matrice.
$$ \begin{pmatrix} 5 & \not{6} & \not{7} & \not{6} \\ 9 & \not{8} & \not{7} & \not{6} \end{pmatrix} $$
Il risultato finale è una matrice 2x1 ossia un vettore colonna
$$ \begin{pmatrix} 5 \\ 6 \end{pmatrix} $$
Concludo questa lezione con un consiglio pratico.
Quando le righe o le colonne sono continue ti conviene indicare l'intervallo tra la prima e l'ultima, inserendo i due punti come separatore (:) , anziché scriverle tutte in una lista.
Ad esempio, digita M(:,[2:4])=[ ] per cancellare la seconda, la terza e la quarta colonna della matrice M.
In questo modo stai indicando l'intervallo tra le colonne [2:4] anziché la lista [2 3 4]
>> M(:,[2:4])=[ ]
M =
5
9
Il risultato finale è sempre lo stesso. Le colonne sono rimosse dalla matrice.