Cómo contar el NaN en MATLAB (En 3 Pasos)

Por chris daniels
Cómo contar el NaN en MATLAB (En 3 Pasos)
Ablestock.com/AbleStock.com/Getty Images

En el ambiente de programación matemática MATLAB, NaN es un valor especial que significa "no un número". Los valores NaN pueden surgir en tus variables en casos en los que ocurre una operación inusual, como por ejemplo, dividir cero. También puede ocurrir en ciertas operaciones infinitas, representadas como +Inf y -Inf en MATLAB. Los valores NaN también pueden surgir al importar datos desde archivos corruptos o formatos inusuales. MATLAB ofrece funciones especiales para lidiar con matrices que contengan valores NaN.

Paso 1

Crea u obtén una matriz que contenga valores NaN: Por ejemplo, myArray = nan(m,n);" genera una matriz m-by-n de valores NaN a la variable myArray.

Paso 2

Determina si cada valor es igual a NaN usando la función "isnan()". Esto es necesario pues las operaciones lógicas normales, como "==", son incapaces de comparar valores NaN. Siguiendo el ejemplo anterior:

myBooleanArray = isnan(myArray);

Paso 3

Suma los valores en myBooleanArray para determinar el número de valores NaN contenidos en myArray. En MATLAB, la suma de operaciones solamente opera en la última dimensión. Por lo tanto, en el ejemplo anterior de m-by-n myArray, es necesario que o bien llames:

how_many_NaNs = sum(sum(myBooleanArray));

o:

how_many_NaNs = sum(reshape(myBooleanArray,m*n,1));

El segundo ejemplo de código reconfigura la matriz en una matriz unidimensional, de forma que la suma de la función trabaja sobre toda la matriz.