MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE: List processing


Here's a very simple solution:

v = {{100, 200}, {150, 250}, {120, 270}, {300, 400}}; 
Interval @@ v
List @@ %

Interval[{100, 270},   {300, 400}]
{{100, 270}, {300, 400}}

DrBob

-----Original Message-----
From: John Leary [mailto:leary at paradise.net.nz] 
To: mathgroup at smc.vnet.net
Subject: [mg37214]  List processing


Greetings

This problem can be solved by conventional programming, but I wonder if 
there is an elegant Mathematica solution ?

A list contains pairs of values, with each pair representing the lower
and 
upper edge of a sub-range.  Some of the sub-ranges partially overlap,
some 
fully overlap, others don't overlap at all.  The problem is to produce a

second list that contains the overall upper and lower edges of the 
overlapping sub-ranges.

A simple example :  {{100,200},{150,250},{120,270},{300,400}}  would
result 
in {{100,270},{300,400}}.

In the real case, the input list has several hundred elements and the 
output list typically has five elements.

I have a working solution based on loops, but there must be a more
elegant 
one.  I would be very grateful for any suggestions.


Best regards

John Leary






  • Prev by Date: RE: List processing
  • Next by Date: Re: grouping and averaging {x,y} pairs of data
  • Previous by thread: RE: List processing
  • Next by thread: Re: List processing