Filter out nonzero number in array of n*2 dimension.

5 visualizaciones (últimos 30 días)
Chiranjibi
Chiranjibi el 16 de Jul. de 2014
Comentada: Joseph Cheng el 16 de Jul. de 2014
I have two column and 208k rows array, each row is event number. My array is like that,
3145728 0
0 3
0 3
0 3
3145728 0
0 192
0 0
384 0
48 0
3145728 0
3145728 0
0 384
0 3
2097152 0
0 3
3145728 0
0 3
0 3
0 3
16777216 0
This is only for 20 events.Here, it look like randomly numbered of zero and non zero(i.e one row non zero and other row zero and vice-versa for each event). So can anybody please give me idea that how to filter out if there are non zero numbers in the same row of both column through matlab script.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 16 de Jul. de 2014
A(all(A,2),:)

Más respuestas (2)

James Tursa
James Tursa el 16 de Jul. de 2014
If I understand your question, you want to delete the rows with non-zero entries in both columns, e.g.,
idx = sum(A~=0,2)==2;
A(idx,:) = [];
  6 comentarios
Chiranjibi
Chiranjibi el 16 de Jul. de 2014
Keep row where both don't equal zero. These must be in same rows of both column.
Joseph Cheng
Joseph Cheng el 16 de Jul. de 2014
then just modify what James supplied. As you can see he first finds the index where there are non zeros in both.
So we can change it to
ind = sum(A,2)==0;
which will each column to each other. Check if rows equal zero and now we have which ones are equal to zero.
Then we can do A(ind,:)=[] which will get rid of all rows which add up to zero.

Iniciar sesión para comentar.


Daniel
Daniel el 16 de Jul. de 2014
matrix = [3145728,0;...
0,3;...
0,3;...
0,3;...
3145728,0;...
0,192;...
0,0;...
384,0;...
48,0;...
3145728,0;...
3145728,0;...
0,384;...
0,3;...
2097152,0;...
0,3;...
3145728,0;...
0,3;...
0,3;...
0,3;...
16777216,0];
Indices = matrix(:,1) ~= 0 | matrix(:,2) ~= 0;
matrix = matrix(Indices,:);

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by