Select values in one column based on entries in another column
    21 views (last 30 days)
  
       Show older comments
    
    Turbulence Analysis
 on 21 Feb 2022
  
    
    
    
    
    Commented: Arif Hoq
      
 on 21 Feb 2022
            Hi.
I looking for a way to read values in one column based on the entries in qnother column,
For example in the attached array A, the first entry in the first column is -3.14, here I would like to read all the correponding entries in the third column whichever got -3.14 in the first column.. 
0 Comments
Accepted Answer
More Answers (1)
  Arthur Reis
      
 on 21 Feb 2022
        
      Edited: Arthur Reis
      
 on 21 Feb 2022
  
      You can use a logical mask. For example (using two vectors, but it is easily adaptable for your case with arrays with many columns):
A = [1; 2; 3; -3.14; 4; -3.14];
A =
1.0000
2.0000
3.0000
-3.1400
4.0000
-3.1400
>> A_mask = (A==-3.14) % also works with <, >, >=, <=.....
A_mask =
6×1 logical array
0
0
0
1
0
1
>> B = ['a'; 'b'; 'c'; 'd'; 'e'; 'f']
B =
6×1 char array
'a'
'b'
'c'
'd'
'e'
'f'
>> B(A_mask) %passing a logical array as indexes will return every 'true' element
ans =
  2×1 char array
    'd'
    'f'
0 Comments
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!

