Mais
×

Como extrair zeros no "MATLAB"

Atualizado em 22 julho, 2017

Os valores zero na sua matriz do MATLAB (software de computação científica) podem tornar a análise do seus dados difícil. As estatísticas ou o processamento de sinal podem gerar resultados sem sentido e os gráficos podem ser complicados de ler quando os valores nulos estão representados. Extraí-los -- removê-los de sua matriz -- permitirá que trabalhe com dados úteis para conseguir resultados significativos.

Instruções

Extrair os valores nulos pode ajudar a criar gráficos úteis dos seus dados (Thinkstock/Comstock/Getty Images)
  1. Copie sua matriz original para outra variável. Se precisar usar a matriz como era antes de remover os zeros, poderá usar essa nova variável.

    Se a matriz se chamar M, por exemplo, atribua a ela uma nova variável chamada Mzeros. Para fazer isso, digite "Mzeros = M" (sem as aspas) na linha de comando do "MATLAB".

  2. Salve a matriz original em um arquivo de texto caso precise dela mais tarde usando a função "dlmwrite" do "MATLAB". Se o armazenamento da variável acidentalmente for excluído ou reescrito, será possível carregar novamente os dados originais do arquivo de texto.

    Por exemplo, se a matriz original for armazenada na variável Mzeros, digite "dlmwrite('Mzeros.dat', Mzeros)" para escrever a Mzeros em um arquivo de texto chamado Mzeros.dat.

    Você poderá pular esse passo se seus dados já estiverem armazenados em um arquivo de texto.

  3. Decida se precisa manter sua matriz do mesmo tamanho e formato. Mantenha-a assim se as linhas e colunas possuírem um significado específico (por exemplo, cada linha representa um teste experimental diferente e cada coluna representa uma quantidade de medida diferente). Para manter o mesmo tamanho e formato, substitua cada valor zero por um valor de NaN (representando "não é um número").

    Para substituir os valores zero por NaN em uma matriz chamada M, digite "M(M==0) = NaN". Certifique-se de digitar M==0 com dois sinais de igual. Esse comando dirá ao "MATLAB" para encontrar todos os elementos de M iguais a zero e substituí-los por NaN.

    Tudo na matriz permanecerá na mesma posição (mesma linha e coluna), mas todos os zeros agora serão NaN. Já que a maioria das funções do "MATLAB" ignoram os valores NaN, você poderá colocar dados em gráficos e analisá-los mesmo que os NaN não estejam lá, conseguindo resultados significativos.

  4. Você poderá excluir os elementos zero completamente (em vez de substituí-los por valores tipo NaN) se a matriz for uma lista simples de valores, sem linhas e colunas significativas. Para excluir os elementos nulos na matriz chamada M, digite "M(M==0) = []" (sem as aspas). Certifique-se de digitar M==0 com dois sinais de igual. Esse comando dirá ao "MATLAB" para encontrar todos os elementos iguais a zero e substituí-los por []. O [] representa "vazio". Substituir um valor por [] excluirá o elemento.

    Se M for uma matriz bidimensional, ela será agora um vetor de coluna, contendo todos os elementos não zeros da original M, em sentido coluna. Por exemplo, se M era uma matriz de duas linhas e duas colunas:

    [1 6 0 3 2 0 7 4]

    agora será

    [1 2 6 7 3 4]

    Se M for um vetor (apenas uma linha ou coluna), agora ele será um vetor curto. Por exemplo, se M era [1 2 0 3], agora será [1 2 3].

    A matriz mudará de tamanho e formato quando excluir os elementos zero. Mas se ela não possui valor NaN, você poderá analisar os dados mesmo com as funções "MATLAB" que não ignoram esses valores.

Aviso

  • Certifique-se de que os valores zero não sejam realmente significativos antes de removê-los. Se significarem algo nos seus dados, removê-los poderá fornecer resultados errados e corrompidos.
  • Se sua matriz for muito grande, copiá-la para outra variável poderá precisar de muita memória, deixando o "MATLAB" lento e com problemas. Certifique-se de que ela esteja salva em um arquivo de texto e não a copie para outra variável.
  • São poucas as funções que não ignoram NaNs, e podem retornar com erros ou resultados sem sentido se usá-los. Verifique a documentação do "MATLAB" para cada função que usar na sua análise de dados.

O que você precisa

  • Dados numéricos
  • Computador
  • MATLAB
Cite this Article A tool to create a citation to reference this article Cite this Article