lettura facile

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.




Non hai risolto il tuo problema? Scrivi una domanda




FacebookTwitterLinkedinLinkedin