在Matlab中求时间戳的交集

在Matlab中求时间戳的交集,matlab,timestamp,intersect,Matlab,Timestamp,Intersect,我想找到2个时间向量t1和t5之间的交集,它们有一些由星号标记的间隙,如图所示。因为matlab中的交集函数正好找到值,所以我必须使用ismembertol。我的结果是中间线,它缺少t5向量中的间隙信息。我怎样才能做到这一点?这是我的代码: ` 您能否将ismembertol与参数t1和t5同时使用?i、 e.对函数的两个单独调用(t1在t5中的成员资格,和t5在t1中的成员资格),对输出有“和”要求?是的,我也考虑过,但我不知道如何执行。请你再解释一下好吗?谢谢你,比如,idx=interse

我想找到2个时间向量t1和t5之间的交集,它们有一些由星号标记的间隙,如图所示。因为matlab中的交集函数正好找到值,所以我必须使用ismembertol。我的结果是中间线,它缺少t5向量中的间隙信息。我怎样才能做到这一点?这是我的代码: `


您能否将
ismembertol
与参数
t1
t5
同时使用?i、 e.对函数的两个单独调用(
t1
t5
中的成员资格,和
t5
t1
中的成员资格),对输出有“和”要求?是的,我也考虑过,但我不知道如何执行。请你再解释一下好吗?谢谢你,比如,
idx=intersect(t1(ismembertol(t1,t5,tol)),t5(ismembertol(t5,t1,tol))
。我不知道这是什么样子,但它应该能让你接近。谢谢。我刚刚尝试过,但它不起作用,因为intersect函数,它找到了准确的数字,所以在公共向量中有很多间隙。我用ismembertol替换intersect,但它返回的结果与我得到的一样。奇怪的是,没有a和e例如
t1
t5
,很难为您提供更多帮助。
tol = 1e-08; Fs = 50;
[a,b] = ismembertol(t1,t5,tol);
tcom15 = t1(a);
t1gap = t1(find(round(diff(t1)* 86400*Fs)>1));
t5gap = t5(find(round(diff(t5)* 86400*Fs)>1));
tcom15gap = tcom15(find(round(diff(tcom15)* 86400*Fs)>1));
figure; plot(t1,2*ones(length(t1),1)); hold on
plot(t5,3*ones(length(t5),1));ylim([1 4])

plot(t1gap,2*ones(length(t1gap),1),':*','MarkerSize',5) 
plot(t5gap,3*ones(length(t5gap),1),':*','MarkerSize',10) 

plot(tcom15,2.5*ones(length(tcom15),1)) 
plot(tcom15gap,2.5*ones(length(tcom15gap),1),':*','MarkerSize',10)