Azzera filtri
Azzera filtri

How to select array elements based on the elements of another array?

15 visualizzazioni (ultimi 30 giorni)
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!!

Risposta accettata

Stephen23
Stephen23 il 5 Lug 2021
idx = ismembertol(eyetimes,spiketimes,0.02, 'DataScale',1);
out = eyetimes(idx)

Più risposte (1)

Aparajith Raghuvir
Aparajith Raghuvir il 5 Lug 2021
Modificato: Aparajith Raghuvir il 5 Lug 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.

Categorie

Scopri di più su Electrophysiology in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by