Re: checking for overlap
- To: mathgroup at smc.vnet.net
- Subject: [mg20110] Re: [mg20065] checking for overlap
- From: "Andrzej Kozlowski" <andrzej at tuins.ac.jp>
- Date: Thu, 30 Sep 1999 02:43:17 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Here is one way:
In[1]:=
overlapcheck[ints_, tvals_] :=
Outer[IntervalMemberQ, Map[Interval, ints], tvals]
e.g.
In[2]:=
ints = {{-1, 1}, {0, 1}, {2, 4}, {3, 4}};
tvals = {0, 1.5, 3};
In[3]:=
overlapcheck[ints, tvals]
Out[3]=
{{True, False, False}, {True, False, False}, {False, False, True}, {False,
False, True}}
You may prefer the answer in transposed form:
In[4]:=
Transpose[%]
Out[4]=
{{True, True, False, False}, {False, False, False, False}, {False, False,
True, True}}
This means that 0 is in the interval {-1, 1}, is in {0, 1}, is not in {2, 4}
and {3, 4} and so on ...
--
Andrzej Kozlowski
Toyama International University
JAPAN
http://sigma.tuins.ac.jp
http://eri2.tuins.ac.jp
----------
>From: dennisw555 at aol.com (DennisW555)
>To: mathgroup at smc.vnet.net
>Subject: [mg20110] [mg20065] checking for overlap
>Date: Wed, Sep 29, 1999, 16:33
>
> 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?
>
> Thanks,
> Dennis
>