lettura facile

Come cancellare una riga o una colonna in una matrice su Matlab

In questa lezione ti spiego come eliminare una riga oppure una colonna da una matrice nell'ambiente Matlab

Ti faccio un esempio pratico

Crea una matrice 3x3 con tre righe e tre colonne

>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9

Per eliminare la prima riga digita M(1,:)=[ ]

>> M(1,:)=[ ]
M =
4 5 6
7 8 9

Cosa vuol dire questo comando?

  • Il numero 1 nel primo parametro M(1,:) seleziona la prima riga della matrice
  • Il simbolo dei due punti (:) nel secondo parametro M(1,:) seleziona tutte le colonne

Quindi, 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 viene cancellata.

$$ \begin{pmatrix} 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$

Il risultato è una matrice 2x3 con due righe e tre colonne

Nota. Per cancellare le altre righe devi solo indicare un altro numero di riga. Ad esempio, per rimuovere la seconda riga della matrice digita M(2,:)=[ ] e via dicendo. La prima riga della matrice ha un numero indice uguale a 1, la seconda riga uguale a 2, ecc.

Ora 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

Per rimuovere la terza colonna della matrice digita M(:,3)=[ ]

>> M(:,3)=[ ]
M =
1 2
4 5
7 8

Questo comando seleziona tutte le righe (:) della terza colonna 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 è eliminata.

$$ \begin{pmatrix} 1 & 2 \\ 4 & 5 \\ 7 & 8 \end{pmatrix} $$

Il risultato finale è una matrice rettangolare 3x2 con tre righe e due colonne.

E per cancellare più righe o colonne contemporaneamente?

Se vuoi cancellare più righe o più contemporaneamente nella matrice devi indicare la lista delle colonne o delle righe che vuoi rimuovere tra parentesi quadre

Ad esempio, crea una matrice 4x4

>> 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

Per cancellare la prima e l'ultima riga digita il comando M([1 4] ,:)=[ ]

La lista delle righe da rimuovere devi scriverla tra parentesi quadre [ 1 4 ] nel primo parametro del comando.

Separa 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] ,:)=[ ] rimuove la prima e la terza riga dalla 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 rettangolare 2x4 con due righe e quattro colonne

$$ \begin{pmatrix} 5 & 6 & 7 & 8 \\ 9 & 8 & 7 & 6 \end{pmatrix} $$

Ora per cancellare la seconda, la terza e la quarta colonna digita il comando M(:,[2 3 4])=[ ]

In questo caso la lista delle colonne da rimuovere [ 2 3 4 ] è composta da tre colonne

 

>> M(:,[2 3 4])=[ ]
M =
5
9

Il comando M(:,[2 3 4])=[ ] rimuove la seconda, la terza e la quarta colonna dalla matrice.

$$ \begin{pmatrix} 5 & \not{6} & \not{7} & \not{6} \\ 9 & \not{8} & \not{7} & \not{6} \end{pmatrix} $$

Il risultato è una matrice 2x1 ovvero un vettore colonna

$$ \begin{pmatrix} 5 \\ 6 \end{pmatrix} $$

Prima di finire ti lascio con un ultimo consiglio pratico.

Quando le righe o le colonne sono continue puoi anche indicare l'intervallo tra la prima e l'ultima inserendo i due punti come separatore (:) anziché indicarle tutte in una lista.

Ad esempio, per cancellare la seconda, la terza e la quarta colonna puoi anche scrivere M(:,[2:4])=[ ]

In questo caso 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.

In questo modo puoi cancellare qualsiasi riga o colonna di una matrice quando utilizzi Matlab.




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin