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