Find column position of trues in a binary matrix

1 visualización (últimos 30 días)
Alex Ferrer
Alex Ferrer el 19 de Mzo. de 2020
Comentada: Alex Ferrer el 20 de Mzo. de 2020
Hello,
I have a binary matrix with with a large number of rows (~10^6) and small number of colums (~10) where the number of trues in each row is fixed.
I would like to obtain a matrix that for each row I have the column position of the trues.
For example:
I have the following binary matrix
A = [1 0 1 0 0;...
0 0 1 0 1;
...
...
1 1 0 0 0];
and I would like to obtain
c = [1 3;...
3 5;...
...
...
1 2];

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 19 de Mzo. de 2020
Editada: Fangjun Jiang el 19 de Mzo. de 2020
see if you can get it from [i,j]=find(A)
>> A = [1 0 1 0 0;
0 0 1 0 1;
1 1 0 0 0];
[R,~]=find(A.');
out=transpose(reshape(R,2,[]))
out =
1 3
3 5
1 2

Más respuestas (0)

Categorías

Más información sobre Matrices and Arrays 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