我有两个矩阵 A 和 B,都包含事件开始和停止时间的列表:
A(i,1) = onset time of event i
A(i,2) = offset time of event i
B(j,1) = onset of event j
...
我的目标是获得两个不合理的列表,aIdx
并且包含重叠的事件集。bIdx
A(aIdx,:)
B(bIdx,:)
我整天都在挠头,试图弄清楚这一点。有没有一种快速、简单、matlaby 的方法来做到这一点?
我可以使用 for 循环来做到这一点,但这对于 matlab 来说似乎有点 hacky:
aIdx = [];
bIdx = []
for i=1:size(A,1)
for j=i:size(B,1)
if overlap(A(i,:), B(j,:)) % overlap is defined elsewhere
aIdx(end+1) = i;
bIdx(end+1) = j;
end
end
end