找到由起点和终点定义的两个范围之间的重叠区域

时间:2016-07-24 01:28:58

标签: matlab octave

如何找到由起点和终点定义的两个范围之间的重叠区域?
例如,让

k=[0,1]

[0.74616534, 1]

如何重叠这个区域:

r=[-2.74616534, 0.1743176523]  

或者用:

[0, 0.1743176523]

它会给:

r=[0.0002845, 0.9888455]

或者用:

[0.0002845, 0.9888455]

它会给:

brew install imagemagick

等。

是否可能,尽可能简单,没有循环和比较"开始/结束"点?
在Matlab和GNU Octave上工作(没有异国情调)。感谢。

1 个答案:

答案 0 :(得分:2)

重叠是从两个最小值的最大值开始的范围,并以两个最大值的最小值结束。如果两者的顺序相反,它就是一个空集。

E.g。

r = [0.74616534, 4.1743176523];
k = [0, 1];
a = max (min (r), min (k));
b = min (max (r), max (k));
if a <= b; Range = [a, b]; else; Range = []; end