Tecnología

Inicio

Cómo eliminar NaNs en una matriz en MATLAB

"NaN" significa "no es un número", y se utiliza en MATLAB y otras herramientas de software de ordenador para representar los resultados de las operaciones numéricas que no se pueden representar como números. Si usted tiene una matriz con valores NaN en MATLAB, reemplazarlos con ceros u otros valores para evitar errores en los cálculos futuros. Utilice la función "isnan" para indexar los sitios NaN en la matriz, y utilizar el operador de asignación para reemplazarlos.

Instrucciones

1 Definir una matriz con un par de NaNs con el siguiente comando:

a = [[1 NaN 3]; [3 4 5]; [NaN NaN 1]]

2 Identificar la ubicación de los NaNs con este comando: isnan (a). Esto no elimina la NaNs, pero que muestra cómo funciona la función "isnan". Una matriz es del mismo tamaño que "a" con los de las ubicaciones de la NaNs se devuelve.

3 Tipo "un (isnan (a)) = 0" (sin comillas) para reemplazar los NaNs con ceros. Como el resultado de "isnan (a)" se utiliza para indexar "a", la operación de asignación que sigue se aplica a cada uno de los valores NaN en "a", y no a los otros valores.