Find column position of trues in a binary matrix

2 vues (au cours des 30 derniers jours)
Alex Ferrer
Alex Ferrer le 19 Mar 2020
Commenté : Alex Ferrer le 20 Mar 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];

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 19 Mar 2020
Modifié(e) : Fangjun Jiang le 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

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by