Help needed with the find function
    6 views (last 30 days)
  
       Show older comments
    
    Aftab Ahmed Khan
      
 on 14 Jul 2016
  
    
    
    
    
    Commented: Aftab Ahmed Khan
      
 on 14 Jul 2016
            Hello everyone, I have this section of code. I want to find the closest node among the two sets of base stations. The way i am doing it is like this but the find function gives me an error.
closest_dist=min(distance_ua(iduser,:),distance_ur(iduser,:));
closest_node=(find(distance_ua(iduser,:)==closest_dist)) || (find(distance_ur(iduser,:)==closest_dist));
2 Comments
  Geoff Hayes
      
      
 on 14 Jul 2016
				Aftab - wouldn't the closes to the ABS or RBS be the minimum of closest_abs and closest_rbs or am I misunderstanding something?
Accepted Answer
  Guillaume
      
      
 on 14 Jul 2016
        
      Edited: Guillaume
      
      
 on 14 Jul 2016
  
      Note that using
indices = find(x == min(x))
only makes sense if you have several values equal to the minimum and you want to get the indices of all these values. Otherwise,
[~, index] = min(x)
is a more efficient way of getting the index of the first minimum.
Assuming, that the number of columns in distance_ua and distance_ur is the same and that the indices in distance_ua and distance_ub mean the same, then:
d_ua_ur = [distance_ua(iduser, :), distance_ur(iduser, :)];
closest_abs_or_rbs = mod(find(d_ua_ur == min(d_ua_ur)) - 1, size(distance_ua, 2)) + 1
edit: missing closing bracket
4 Comments
More Answers (0)
See Also
Categories
				Find more on Logical 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!
