How do you select elements of one cell array based on the contents of another cell array?

3 ビュー (過去 30 日間)
Kevin Akash Rajasekaran
Kevin Akash Rajasekaran 2021 年 7 月 8 日
コメント済み: Jonas 2021 年 7 月 8 日
Hey all! I have two cell arrays, "spiketimes" and "eyetimes". Both of them contain elements which are essentially time points at which an event occurs. Now, I'm using the following lines of code to select elements of "eyetimes" based on the value of "spiketimes"
idx = ismembertol(eyetime,spiketimes,0.02, 'DataScale',1 );
eyetime = eyetime(idx);
Elaborating on the code a bit further, the index selects elements of "eyetime" for each value of "spiketime" with an interval of 0.02 secs. For eg, if an element of "spiketimes" is 0.250, it'll select all elements of "eyetime" between 0.250+0.02 & 0.250-0.02. I want to modify this code to only select elements of "eyetimes" before 0.250 i.e 0.250-0.02 only. How would I go about executing this? Thanks in advance!

回答 (1 件)

Jonas
Jonas 2021 年 7 月 8 日
lower your aim value by half your error interval and half your error interval
-> 0.250-(0.02/2)+0.02/2 & 0.250-(0.02/2)-0.02/2
  2 件のコメント
Kevin Akash Rajasekaran
Kevin Akash Rajasekaran 2021 年 7 月 8 日
Alright I see, but that's just for one value right? How do I go about extending this to the rest of the "spiketimes" array?
Jonas
Jonas 2021 年 7 月 8 日
create another version of spiketimes in which all elements are lowered by 0.02/2

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by