RE: checking for overlap
- To: mathgroup at smc.vnet.net
 - Subject: [mg20095] RE: [mg20065] checking for overlap
 - From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
 - Date: Thu, 30 Sep 1999 02:43:09 -0400
 - Sender: owner-wri-mathgroup at wolfram.com
 
Dennis (dennisw555 at aol.com) wrote:
-------------------------
I am looking for an elegant way of checking for overlap.  
Suppose I have a set of time intervals given by
ints = {{t1,t2},{t3,t4},{t5,t6}. ...} and another set of times
tvals = {u1,u2,u3, ...}.
 What is a fast, elegant way of checking which of the tvals is within any of
the ints time intervals?
-------------------------
Dennis,
I give an example below that does the trick, and I suspect it's about as
fast and elegant as it gets.
 
In[1]:=
int=Interval[{1,3},{12,14},{15,16},{21,24},{35,40}];
tvals={2,4,5,15.4,33,34,36,,35,37};
In[3]:=
Select[tvals,IntervalMemberQ[ints,#]&]
Out[3]=
{2,15.4,36,35,37}
----------------------------
Note:
if you already have
  int={{1,3},{12,14},{15,16},{21,24},{35,40}};
Then you can change it to Interval[__] using
In[4]:=
  Interval@@int
  
Out[4]=
  Interval[{1,3},{12,14},{15,16},{21,24},{35,40}];
-----------------------------
If you don't understand the #& notation point your browser to 
(Slot, SlotSequence) at my web page.  The URL is given below.
-----------------------------
Regards,
Ted Ersek
For Mathematica tips, tricks see 
http://www.dot.net.au/~elisha/ersek/Tricks.html