设需要判断的两个区间为 a(a1,a2) 和 b(b1,b2),则他们所有可能的相对位置有如下四种:
相对位置1:
相对位置2:
相对位置3:
相对位置4:
对比相对位置4与相对位置1&2,可以发现相对位置4是相对位置1&2的特殊情况,所以只需要考虑相对位置1&2&3的情形,matlab代码实现如下
matlab代码实现
clc;
clear all;
a=(a1,a2);
b=(b1,b2); % a b 为需要判断是否有交集的两个区间
flag=0 % flag=0 表示没有交集,flag=1表示有交集
if (a1<b2 && b2<a2)
flag=1;
end % 相对位置1
if (a1<b1 && b1<a2)
flag=1;
end % 相对位置2
if (a1>=b1 && a2<=b2)
flag=1;
end % 相对位置3
reference
[1]: https://blog.csdn.net/mrwangweijin/article/details/76302778