How to select array elements based on the elements of another array?
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Kevin Akash Rajasekaran
el 5 de Jul. de 2021
Comentada: Kevin Akash Rajasekaran
el 5 de Jul. de 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 comentarios
Respuesta aceptada
Stephen23
el 5 de Jul. de 2021
idx = ismembertol(eyetimes,spiketimes,0.02, 'DataScale',1);
out = eyetimes(idx)
Más respuestas (1)
Aparajith Raghuvir
el 5 de Jul. de 2021
Editada: Aparajith Raghuvir
el 5 de Jul. de 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.
Ver también
Categorías
Más información sobre Electrophysiology en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!