matlab中两个连续范围的交集

时间:2014-09-10 21:11:40

标签: matlab intersection continuous

我有两个连续范围,想在MATLAB中检查它们是否有任何交集。我知道它可以通过一些 if子句来实现,但我想知道MATLAB中是否有任何函数可以实现。

1 个答案:

答案 0 :(得分:0)

将您的范围描述为1 x 2阵列,并使用此功能:

function result = isRangesIntersect(range1, range2)

if range1(1) < range2(1)
    lowRange = range1;
    highRange = range2;
else
    lowRange = range2;
    highRange = range1;
end

result = lowRange(2) > highRange(1);

end

让我们说你的第一个范围是1到5,你的第二个范围是2.5到7.2,然后是电话:

result = isRangesIntersect([1 5], [2.5 7.2])

将返回&#34; true&#34; (1)。电话:

result = isRangesIntersect([2.5 7.2], [1 5])

也将返回&#34; true&#34;。

请注意,相邻范围将返回&#34; false&#34;。即电话:

result = isRangesIntersect([1 5], [5 7])

将返回&#34; false&#34;。

如果您希望相邻范围返回&#34; true&#34;,请将第11行的>运算符更改为>=运算符。