查找单元格数组中的值,该值包含在由另一个单元格数组中的值定义的范围内

2次查看(最近30天)
Daiana Minocci
Daiana Minocci 2020年5月14日
你好,
我有个问题,我希望你能帮我:
我有两个单元格数组 峰值 ' 16x1 and ' Sort_stim “22 x1。
所有单元格仅呈现标量。
每个单元的 峰值 表示一个通道记录的数据(总共有16个通道),单元格内的值对应于记录的数据的时间(秒)。
Sort_stim ,每个细胞代表一种特定的刺激模式(总共22种不同的刺激),每个细胞内的值对应着每个刺激的开始时间。刺激是随机发送的,相同的刺激发生多次。
我想创建一个单元格数组 Spikes_aligned_stim 将在16日 Spikes_aligned_stim {1,1},我将得到的所有值 峰值 的值之间包含的{1,1} Sort_stim {1,1}和的每个值 Sort_stim {1} + 0.5。然后在 Spikes_aligned_stim {1,2}我将得到的所有值 峰值 的值之间包含的{1,1} Sort_stim {2,1}和的每个值 Sort_stim {2, 1} + 0.5……在年代 pikes_aligned_stim {13,5}我将得到的所有值 峰值 的每个值之间包含的{13,1} Sort_stim {5,1}和的每个值 Sort_stim {5,1}加0.5,以此类推。
举个例子:
如果 峰值 {1} =[1、2.3、3、4.6、7]和Sort_stim {1 1} = (0.6, 2.2, 4)
Spikes_aligned_stim {1} = (2.3)
如果 峰值 {12日1}=[13.7]11日13日和Sort_stim{7日1}= (10.6,16,18)
Spikes_aligned_stim {12 7} = [11]
我已经试过很多次了,但是都不起作用。这里只举两个我尝试过的例子……
谢谢提前
% %测试1
N_CH = 16;
Ntrials = 22;
窗口= 0.5 [0];
Spikes_aligned_stim =细胞(N_CH Ntrials);
n = 1: N_CH
l = 1: Ntrials
Z =找到(峰值{n} > Sort_stim {l} +窗口(1)&峰值{n} < Sort_stim_cell {l} +窗口(2));
Spikes_aligned_stim {n, l} = {n} (Z)峰值-Sort_stim_cell {l};
结束
结束
% % test2
Spikes_aligned_stim =细胞(N_CH Ntrials)
Spikes_aligned_stim =猫(2(:1)峰值Sort_stim(: 1)。找到(峰值(:1)> (Sort_stim(: 1)) +窗口(1))&(峰值(l, 1) < (Sort_stim(: 1)) +窗口(2)));

答案(0)

标签

下载188bet金宝搏

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!