Tecnología

Inicio

Cómo extraer los ceros en Matlab

Cómo extraer los ceros en Matlab


Los valores de cero en la matriz de datos de MATLAB puede hacer que su análisis de datos difícil. Estadísticas o cálculos de procesamiento de señales pueden dar resultados sin sentido. Las parcelas pueden ser difíciles de leer cuando se trazan los valores cero. La extracción de los valores cero - retirarlas de la matriz de datos - le permite trabajar con los datos útiles para obtener resultados significativos.

Instrucciones

1 Copiar la matriz de datos original a otra variable mediante la asignación de su valor a un nuevo nombre de la variable. Si es necesario utilizar la matriz como lo era antes de quitar los ceros, puede utilizar esta nueva variable.

Si la matriz se llama M, por ejemplo, asignarla a una nueva variable denominada Mzeros. Para ello, escriba "Mzeros = M" (sin las comillas) en la línea de comandos del Matlab.

2 Guardar la matriz de datos original en un archivo de texto en caso de que lo necesite de nuevo más tarde, utilizando la función de MATLAB "dlmwrite". Si la variable de MATLAB almacenar sus datos accidentalmente se borra o se sobrescribe, se puede volver a cargar los datos originales a partir de este archivo de texto.

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

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

3 Decidir si es necesario para mantener su matriz de datos del mismo tamaño y forma. Mantener el tamaño de la matriz y la forma si filas y columnas de la matriz tienen un significado específico (por ejemplo, cada fila representa un ensayo experimental diferente, y cada columna representa una cantidad medida diferente). Para mantener el mismo tamaño y forma, reemplace cada valor cero con un valor de marcador de posición de NaN (que representa "no es un número").

Para reemplazar los valores cero con NaN en una matriz denominada M, tipo "M (M == 0) = NaN" sin comillas. Asegúrese de escribir M == 0 con dos signos de igual. Esta orden le dice a MATLAB para encontrar todos los elementos de M igual a cero, y reemplazarlos con NaN.

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

4 Puede eliminar los elementos cero en su totalidad (en lugar de sustituirlos con marcadores de posición) si la matriz es una simple lista de valores, sin filas y columnas significativas. Para eliminar los elementos cero en una matriz denominada M, tipo "M (M == 0) = []" (sin comillas). Asegúrese de escribir M == 0 con dos signos de igual. Esta orden le dice a MATLAB para encontrar todos los elementos de M igual a cero, y reemplazarlos con []. [] Representa "vacío". Sustitución de un valor con [] se elimina ese elemento.

Si M fue una matriz de dos dimensiones, y pasará a ser un vector columna, que contiene todos los elementos no nulos de la M original, tomada por columnas. 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), que ahora será un vector más corto. Por ejemplo, si M estaba [1 2 0 3], que ahora será [1 2 3].

La matriz cambia su forma y tamaño cuando se eliminan los elementos cero. Pero dado que la matriz no tiene valores NaN de marcador de posición, puede analizar los datos, incluso con funciones de MATLAB que no ignoran valores NaN.

Consejos y advertencias

  • Si la matriz de datos no se nombra M, basta con sustituir M con el nombre de la matriz cuando se escribe un comando.
  • Asegúrese de que los valores cero realmente no tienen sentido antes de eliminarlos. Si quieren decir algo en sus datos, la eliminación de ellos podrían dar resultados erróneos o engañosos.
  • Si la matriz de datos es muy grande, lo copia a otra variable MATLAB podría tomar demasiada memoria, ralentizar o estrellarse MATLAB. Asegúrese de que la matriz se guarda en un archivo de texto, y no copiarlo en otra variable.
  • Unas funciones de MATLAB no ignoran NaNs, y pueden devolver errores o resultados sin sentido si se utiliza marcadores de posición NaN. Consulte la documentación de MATLAB para cada función que utiliza en su análisis de los datos.