How to find position of value in matrix and write as another matrix
1 view (last 30 days)
Show older comments
Lets say i have this matrix
A = [1 0;
0 0;
1 1;
0 1;
0 0]
Now i want to write the positions of line of value "1" in another matrix B. In A it should start from column1. answer should be like this
B=[1 3 3 4]
which is in column1 value"1" is at 1 and 3, and in column 2 value"1" is at line 3 and 4.
0 Comments
Accepted Answer
the cyclist
on 13 Aug 2014
Edited: the cyclist
on 13 Aug 2014
[ii jj] = find(A);
B = ii';
Since you don't need the jj index, you can just do
[ii ~] = find(A);
B = ii';
instead.
More Answers (1)
Andrei Bobrov
on 13 Aug 2014
Edited: Andrei Bobrov
on 13 Aug 2014
on Akmyrat's comment
[B,~] = find(A(:,[1 3 2]));
B = B';
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!