How to select array elements based on the elements of another array?
    8 views (last 30 days)
  
       Show older comments
    
    Kevin Akash Rajasekaran
 on 5 Jul 2021
  
    
    
    
    
    Commented: Kevin Akash Rajasekaran
 on 5 Jul 2021
            Hey all! I have two double arrays "spiketimes" and "eyetimes". "spiketimes" is 354 elements long and each element is a time point, for eg (0.354 secs etc). Likewise, eyetimes also consists of timepoints but is ~4500 elements long. Now what I want to do is, based on the values of "spiketimes" , I need to select values of "eyetimes" with an interval of 0.02 secs on both sides, so that I pick all the values of eyetimes within that interval. Here's an example to beterr illustrate this
Say, the value I am looking for in "spiketimes" is 0.354 secs. So, In "eyetimes" I need all values between 0.354-0.02 and 0.354+0.02 secs. What might be the best way to go about this? Thanks!! 
0 Comments
Accepted Answer
  Stephen23
      
      
 on 5 Jul 2021
        idx = ismembertol(eyetimes,spiketimes,0.02, 'DataScale',1);
out = eyetimes(idx)
More Answers (1)
  Aparajith Raghuvir
    
 on 5 Jul 2021
        
      Edited: Aparajith Raghuvir
    
 on 5 Jul 2021
  
      I understand you're trying to get all the values in an array between two values.
You may use a mask to achieve your objective
mask = eyetimes(eyetimes > (0.354 - 0.02) & eyetimes < (0.354 + 0.02))
required_values = eyetimes(mask)
You may modify the above code to suit your requirement.
I hope this helps.
See Also
Categories
				Find more on Startup and Shutdown 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!

