No ambiente de programação matemática do MATLAB, NaN é um valor especial que significa “não é um número”. Os valores de NaN podem surgir em suas variáveis nos casos em que uma operação incomum ocorre, como a divisão de zero. Também pode ocorrer em certas operações infinitas, representadas como + Inf e -Inf no MATLAB. Os valores de NaN também podem surgir ao importar dados de arquivos corrompidos ou formatos incomuns. O MATLAB oferece funções especiais para lidar com matrizes que contêm valores de NaN.
Passo 1
Crie ou obtenha uma matriz contendo valores de NaN: Por exemplo, myArray = nan (m, n); “gera uma matriz m por n de valores de NaN para a variável myArray.
Etapa 2
Determine se cada valor é igual a NaN usando a função “isnan ()”. Isso é necessário, pois operações lógicas normais, como “==”, não conseguem comparar os valores de NaN. Seguindo o exemplo anterior:
myBooleanArray = isnan (myArray);
Etapa 3
Adicione os valores em myBooleanArray para determinar o número de valores NaN contidos em myArray. No MATLAB, a soma das operações opera apenas na última dimensão. Portanto, no exemplo anterior de m-by-n myArray, você precisa chamar:
how_many_NaNs = sum (soma (myBooleanArray));
ou:
how_many_NaNs = sum (reformular (myBooleanArray, m * n, 1));
O segundo exemplo de código reconfigura a matriz em uma matriz unidimensional, para que a soma da função funcione em toda a matriz.