Eliminaci贸n de filas o columnas en una matriz en Octave
En esta lección, vamos a discutir la forma de eliminar una fila o columna de una matriz en Octave.
Ilustremos esto con un ejemplo práctico.
Generemos una matriz cuadrada 3x3 y asignémosla a la variable M:
>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
La matriz M consta de tres filas y tres columnas.
Ahora, utilizando el comando M(1,:)=[ ], eliminamos la primera fila de la matriz:
>> M(1,:)=[ ]
M =
4 5 6
7 8 9
Aquí es como funciona:
- El número 1 en el primer parámetro M(1, :) selecciona la primera fila de la matriz M.
- El carácter de dos puntos (:) en el segundo parámetro M(1, :) selecciona todas las columnas.
Con el comando M(1,:)=[ ] seleccionamos todas las columnas de la primera fila y les asignamos un valor nulo [].
$$ \begin{pmatrix} \not{1} & \not{2} & \not{3} \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$
Así, se elimina la primera fila de la matriz M, quedándonos con una matriz 2x3.
$$ \begin{pmatrix} 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$
Para eliminar otras filas, simplemente escriba el número de la fila que desea eliminar. Por ejemplo, para eliminar la segunda fila de la matriz, teclee M(2,:)=[ ]. Los índices de las filas empiezan en 1.
Ahora, consideremos otro ejemplo.
Recreemos la matriz 3x3 inicial.
>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
Usando el comando M(:, 3)=[ ], eliminamos la tercera columna de la matriz.
>> M(:,3)=[ ]
M =
1 2
4 5
7 8
El comando M(:, 3)=[ ] selecciona todas las filas de la tercera columna y les asigna un valor nulo [ ].
$$ \begin{pmatrix} 1 & 2 & \not{3} \\ 4 & 5 & \not{6} \\ 7 & 8 & \not{9} \end{pmatrix} $$
La tercera columna se descarta, y el resultado es una matriz 3x2.
$$ \begin{pmatrix} 1 & 2 \\ 4 & 5 \\ 7 & 8 \end{pmatrix} $$
¿Y si necesitamos eliminar múltiples filas o columnas?
Cuando debemos eliminar varias filas o columnas de la matriz, se especifican los índices de las filas o columnas a eliminar en corchetes.
Por ejemplo, creemos una matriz cuadrada 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
Usamos el comando M([1 4],:)=[ ] para eliminar la primera y la última fila de la matriz.
Los índices de las filas a eliminar van en corchetes [1 4] y se separan por un espacio o coma.
>> M([1 4] ,:)=[ ]
M =
5 6 7 8
9 8 7 6
Este comando elimina la primera y la cuarta fila de la matriz.
$$ \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} $$
El resultado es una matriz 2x4.
$$ \begin{pmatrix} 5 & 6 & 7 & 8 \\ 9 & 8 & 7 & 6 \end{pmatrix} $$
Después, usamos el comando M(:,[2 3 4])=[ ] para eliminar la segunda, tercera y cuarta columna de la matriz.
La lista de columnas a eliminar [2 3 4] contiene tres elementos.
>> M(:,[2 3 4])=[ ]
M =
5
9
Este comando elimina la segunda, tercera y cuarta columna de la matriz.
$$ \begin{pmatrix} 5 & \not{6} & \not{7} & \not{6} \\ 9 & \not{8} & \not{7} & \not{6} \end{pmatrix} $$
Al final, nos queda una matriz 2x1, o un vector columna.
$$ \begin{pmatrix} 5 \\ 6 \end{pmatrix} $$
Termino esta lección con un consejo práctico.
Cuando las filas o columnas a eliminar son consecutivas, es más eficiente especificar el rango usando dos puntos (:).
Por ejemplo, se puede utilizar el comando M(:,[2:4])=[ ] para eliminar la segunda, tercera y cuarta columna de la matriz M.
De esta manera, el intervalo entre las columnas se indica como [2:4] en lugar de la lista [2 3 4].
>> M(:,[2:4])=[ ]
M =
5
9
El resultado final es idéntico: las columnas son eliminadas de la matriz.