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!

