Como extrair zeros no Matlab
Passo 1
Copie a matriz de dados original para outra variável atribuindo seu valor a um novo nome de variável. Se você precisar usar a matriz como estava antes de remover os zeros, poderá usar essa nova variável.
Se a matriz é chamada M, por exemplo, atribua-a a uma nova variável chamada Mzeros. Para fazer isso, digite "Mzeros = M" (sem as aspas) na linha de comando do Matlab.
Passo 2
Salve a matriz de dados original em um arquivo de texto, caso precise novamente mais tarde, usando a função "dlmwrite" do MATLAB. Se a variável MATLAB que armazena acidentalmente seus dados for excluída ou sobregravada, você poderá recarregar os dados originais desse arquivo de texto.
Por exemplo, se a matriz de dados original estiver armazenada na variável Mzeros, digite "dlmwrite ('Mzeros.dat', Mzeros)" (sem as aspas) para gravar Mzeros em um arquivo de texto chamado Mzeros.dat.
Você pode pular esta etapa se os dados já estiverem armazenados em um arquivo de texto.
Passo 3
Decida se você precisa manter sua matriz de dados do mesmo tamanho e forma. Mantenha o tamanho da matriz e a forma se as linhas da matriz e as colunas tiverem um significado específico (por exemplo, cada linha representa um teste experimental diferente e cada coluna representa uma quantidade diferente de medida). Para manter o mesmo tamanho e forma, substitua cada valor zero por um valor de espaço reservado NaN (que representa "não é um número").
Para substituir os valores de zeros por NaN em uma matriz chamada M, escreva "M (M == 0) = NaN" sem as aspas. Certifique-se de escrever M == 0 com dois sinais de igualdade. Este comando diz ao MATLAB para encontrar todos os elementos de M iguais a zero e substituí-los por NaN.
Tudo na matriz permanece na mesma posição (a mesma linha e coluna), mas todos os zeros agora serão NaN. Como a maioria das funções do MATLAB ignora os valores NaN, você pode representar graficamente e analisar os dados como se os NaNs não estivessem lá, obtendo resultados significativos.
Passo 4
Você pode remover completamente os elementos zero (em vez de substituí-los por espaços reservados) se a matriz for uma lista simples de valores, sem linhas e colunas significativas. Para eliminar os elementos zero em uma matriz chamada M, escreva "M (M == 0) = []" (sem as aspas). Certifique-se de escrever M == 0 com dois sinais de igualdade. Este comando diz ao MATLAB para encontrar todos os elementos de M iguais a zero e substituí-los por []. [] representa "vazio". Substituir um valor por [] remove esse elemento.
Se M fosse uma matriz bidimensional, agora será um vetor de coluna, que contém todos os elementos não nulos do M original, tomados como uma coluna. Por exemplo, se M fosse um array com duas linhas e quatro colunas:
[1 6 0 3 2 0 7 4]
agora será [1 2 6 7 3 4].
Se M fosse um vetor (apenas uma linha ou coluna), agora será um vetor mais curto. Por exemplo, se M fosse [1 2 0 3], agora será [1 2 3].
A matriz altera sua forma e tamanho quando você exclui os elementos zero. Mas como a matriz não possui valores de placeholder NaN, você pode analisar os dados, mesmo com funções do MATLAB que não ignoram os valores NaN.