Simple Matrix Reduction Question. Ones and Zeros.

2 visualizzazioni (ultimi 30 giorni)
I have a NxM matrix full of ones and zeros. Each row (1:N) has exactly one, one, somewhere along of the columns. I want to make a matrix Nx1 which shows which columns the ones appeared in. Example:
A = [ 0 0 0 1; 1 0 0 0; 0 1 0 0; 0 0 1 0]
B = [ 4 ; 1 ; 2 ; 3 ]
Should be very simple?

Risposta accettata

Birdman
Birdman il 1 Apr 2020
Modificato: Birdman il 1 Apr 2020
[rows,cols]=find(A==1);
[C,I]=sort(rows);
B=cols(I)

Più risposte (1)

Stephen23
Stephen23 il 1 Apr 2020
Simpler:
>> [B,~] = find(A.')
B =
4
1
2
3

Categorie

Scopri di più su Resizing and Reshaping Matrices 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