Sin categoría

Eliminar elementos en matrices de Matlab

Para eliminar un elemento en una matriz de Matlab solamente hay que seleccionar estos y asignar una matriz vacía. Matriz que se indica con dos corchetes ([]). Por lo que es clave saber previamente seleccionar los elementos de una forma eficiente. A continuación, vamos a ver cómo seleccionar y eliminar los elementos en matrices de Matlab.

Creación de una matriz

En primer lugar hay que tener un matriz en Matlab, por lo que lo mejor es crear una aleatoria con la función randi(). Aunque, de cara a poder reproducir los resultados, es aconsejable fijar la semilla antes de generar la matriz.

rng('default');
data = randi(50 ,6, 4)
data =

    41    14    48    40
    46    28    25    48
     7    48    41    33
    46    49     8     2
    32     8    22    43
     5    49    46    47

Seleccionar filas y columnas

La selección de los elementos de una matriz en Matlab es una tarea realmente sencilla. Proceso que ya se explicó en más detalle en una entrada anterior. Solamente se debe indicar entre paréntesis las coordenadas de matriz, recordando que el valor de la primera posición es 1. Así para seleccionar el segundo elemento de la tercera columna solamente hay que escribir data(2,3), lo que nos debería devolver 25.

En el caso de querer seleccionar un vector con una fila o una columna, se puede indicar mediante dos puntos : que se seleccionen todas las filas o todas la columnas. Así para seleccionar la primera columna se puede hacer data(1,:) y la primera fila data(1, :).

Eliminar filas en una matriz de Matlab

Ahora que sabemos cómo seleccionar filas y columnas podemos eliminarlas de la matriz. Así para eliminar la segunda fila solamente se tiene asignar la matriz vacía a esta.

data(2, :) = []
data =

    41    14    48    40
     7    48    41    33
    46    49     8     2
    32     8    22    43
     5    49    46    47

En este caso los valores de la segunda fila se han perdido, ya que la matriz original ha sido modificada. Si los valores son necesarios para algo es necesario extraerlos previamente y guardarlos en otra variable.

Eliminar columnas en una matriz de Matlab

El proceso para eliminar columnas es análogo al anterior, solamente se tiene que seleccionar esta y asignar una matriz vacía. Así para eliminar la segunda columna solamente se tiene que hacer los siguiente

data(:, 2) = []
data =

    41    48    40
     7    41    33
    46     8     2
    32    22    43
     5    46    47

Eliminar más de una fila o columna

Como se ha visto en la entrada dedicada a la selección de elementos en una matriz de Matlab es posible seleccionar más de una fila o columna. Por lo que también es posible eliminar el mismo paso más de una fila o columna. Esto se hace indicando las filas o las columnas como un vector. De este modo se puede eliminar las filas 1 y 3 de la siguiente manera.

data([1, 3], :) = []
data =

     7    41    33
    32    22    43
     5    46    47

Eliminar un único elemento

Quizás alguien haya notado que se ha explicado previamente como eliminar un único elemento de la matriz. No se ha hecho porque no es posible. Si se eliminase un inicio elemento tendríamos filas o columnas con diferentes numero de elementos, lo que no es posible. En estos casos lo único que se puede hacer es asignar un valor NaN a ese elemento. Aunque en este caso lo único que se hace es eliminar el valor.

Conclusiones

En esta ocasión se ha visto cómo eliminar elementos en matrices de Matlab. Un proceso que es relativamente sencillo si sabemos seleccionar las filas o columnas. Ya que solamente hay que asignar una matriz vacía a los elementos que se desean eliminar.

Imagen de Hans Braxmeier en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Por Qué las Contraseñas Largas son más Seguras que las Complejas

"Tu contraseña debe tener al menos 8 caracteres, una mayúscula, un número y un símbolo…

7 horas ago

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…

2 días ago

Curiosidad: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…

1 semana ago

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

1 semana ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

2 semanas ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

2 semanas ago

This website uses cookies.