判断两个区间有无交集-附matlab代码

设需要判断的两个区间为 a(a1,a2) 和 b(b1,b2),则他们所有可能的相对位置有如下四种:

相对位置1: 图1

相对位置2: 图2

相对位置3:
图3

相对位置4: 图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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值