Cómo extraer los ceros en Matlab

Extraer valores de cero puede ayudarte a crear diagramas útiles con tus datos.
Por margaret woodlawn

Paso 1

Copia la matriz de datos original a otra variable asignando su valor a un nombre de variable nuevo. Si necesitas utilizar la matriz como estaba antes de quitar los ceros, puedes utilizar esta nueva variable.

Si la matriz se llama M, por ejemplo, asígnala a una nueva variable llamada Mzeros. Para ello, escribe "Mzeros = M" (sin las comillas) en la línea de comandos de Matlab.


Paso 2

Guarda la matriz de datos original en un archivo de texto en caso de que la necesites de nuevo más tarde, utilizando la función "dlmwrite" de MATLAB. Si la variable de MATLAB que almacena tus datos accidentalmente se borra o se sobrescribe, puedes volver a cargar los datos originales a partir de este archivo de texto.

Por ejemplo, si la matriz original de datos se almacena en la variable Mzeros, escribe "dlmwrite ('Mzeros.dat', Mzeros)" (sin las comillas) para escribir Mzeros a un archivo de texto llamado Mzeros.dat.

Puedes omitir este paso si los datos ya están almacenados en un archivo de texto.


Paso 3

Decide si necesitas mantener tu matriz de datos del mismo tamaño y forma. Mantén el tamaño de la matriz y la forma si las filas de la matriz y las columnas tienen un significado específico (por ejemplo, cada fila representa un ensayo experimental diferente y cada columna representa una cantidad diferente de medida). Para mantener el mismo tamaño y forma, reemplaza cada valor cero con un valor de marcador de posición NaN (que representa "no es un número").

Para reemplazar los valores de ceros con NaN en una matriz llamada M, escribe "M (M==0) = NaN" sin las comillas. Asegúrate de escribir M==0 con dos signos de igualdad. Este comando le dice a MATLAB que encuentre todos los elementos de M igual a cero y los reemplace con NaN.

Todo en la matriz se mantiene en la misma posición (la misma fila y columna), pero todos los ceros ahora serán NaN. Como la mayoría de las funciones de MATLAB ignoran los valores NaN, puedes graficar y analizar los datos como si los NaNs no estuvieran allí, obteniendo resultados significativos.


Paso 4

Puedes eliminar los elementos cero completamente (en lugar de reemplazarlos con marcadores de posición) si el arreglo es una simple lista de valores, sin filas y columnas significativas. Para eliminar los elementos cero en una matriz llamada M, escribe "M(M==0) = []" (sin las comillas). Asegúrate de escribir M==0 con dos signos de igualdad . Este comando le dice a MATLAB que encuentre todos los elementos de M iguales a cero y los reemplace con []. [] representa "vacío". La sustitución de un valor con [] elimina este elemento.

Si M era una matriz de dos dimensiones, ahora será un vector columna, que contiene todos los elementos distintos de cero de la M original, tomadas de modo de columna. Por ejemplo, si M era una matriz con dos filas y cuatro columnas:

[1 6 0 3 2 0 7 4]

ahora será [1 2 6 7 3 4].

Si M era un vector (sólo una fila o columna), ahora será un vector más corto. Por ejemplo, si M era [1 2 0 3], ahora será [1 2 3].

La matriz cambia su forma y tamaño cuando eliminas los elementos cero. Pero ya que la matriz no tiene valores de marcador de posición NaN, puedes analizar los datos, incluso con funciones de MATLAB que no ignoren los valores NaN.