Retrieving Rows based on Columns
    5 views (last 30 days)
  
       Show older comments
    
Suppose,
% double
  var1=[  1  1  2  4  5
          2  14  15  16  17];
% cell      
  var2={  1   5   6   7
          3   7   6   5
          4   2   5   9
          2   1   5   7};
How can I retrieve the rows in var2 (column 1) which corresponds to var1 (column 1).
Desired Result:
1 5 6 7
2 1 5 7
P/S: If it's not too troublesome, can you please include an explanation as well? I would like to learn from it.
0 Comments
Accepted Answer
  Azzi Abdelmalek
      
      
 on 3 Jul 2013
        c1=cell2mat(var2(:,1))
idx=cell2mat(arrayfun(@(x) find(ismember(c1,x)),var1(:,1),'un',0))
out=var2(idx,:)
More Answers (0)
See Also
Categories
				Find more on Data Types 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!