Find column position of trues in a binary matrix

1 visualizzazione (ultimi 30 giorni)
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];

Risposta accettata

Fangjun Jiang
Fangjun Jiang il 19 Mar 2020
Modificato: Fangjun Jiang il 19 Mar 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

Più risposte (0)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by