Re: Fastest method for comparing overlapping times in random time series

• To: mathgroup at smc.vnet.net
• Subject: [mg64954] Re: Fastest method for comparing overlapping times in random time series
• From: Paul Abbott <paul at physics.uwa.edu.au>
• Date: Fri, 10 Mar 2006 05:14:45 -0500 (EST)
• Organization: The University of Western Australia
• References: <dulspn\$3an\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```In article <dulspn\$3an\$1 at smc.vnet.net>,
"Prince-Wright, Robert G SEPCO" <robert.prince-wright at shell.com>
wrote:

> I have two lists, list1{ {t1,t1+dt1}, {t2,t2+dt2},..{ti,ti+dti}}, and
> list2, each representing 'time(i)' and corresponding 'time(i) +
> deltatime(i)'. The time(i) values are determined by an exponential
> inter-arrival time model, and the durations are a scaled uniform random
> variable. Both lists are ordered on time(i). You can think of list 1 as
> representing periods when System 1 is not working, and list 2 as the
> periods when System 2 is not working.
> ...
> The challenge is
> to develop a fast method for determining the periods when both Systems
> are not working, i.e. to create a list corresponding to the start and
> finish times of the overlaps.

ints = Outer[IntervalIntersection, Interval /@ list1, Interval /@ list2]

List @@ IntervalUnion @@ Flatten[ints]

{{0, 0},
{7.9785370986659725, 7.9795152152343825},
{23.964317142793323, 24.053482621096574},
{31.09821651735643, 31.141635693642247},
{32.51349069353666, 32.5469642626066}}

Perhaps this will be sufficiently fast? Note that using Outer is
inefficient because IntervalIntersection is commutative, so that each
intersection is computed twice. This can be overcome by using Map

> Example lists are given as Cell Expressions below together with code to convert to a ticker-tape Plot
> (you may need to stretch the graphic to see clearly).

This Cell Expression was corrupted by some spurious ">" characters
(possibly due to the code being "quoted"). For example,

>              RowBox[> {"{",
>                RowBox[{
>                "12.599440581844581", ",", "12.69944058184458"}], "}"}],

Cheers,
Paul

_______________________________________________________________________
Paul Abbott                                      Phone:  61 8 6488 2734
School of Physics, M013                            Fax: +61 8 6488 1014
The University of Western Australia         (CRICOS Provider No 00126G)
AUSTRALIA                               http://physics.uwa.edu.au/~paul

```

• Prev by Date: Re: Fastest method for comparing overlapping times in random time series
• Next by Date: Re: ndsolve & compile
• Previous by thread: Re: Fastest method for comparing overlapping times in random time series
• Next by thread: Re: Fastest method for comparing overlapping times in random time series