MathGroup Archive 2002

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

Search the Archive

Re: List processing


John

The simplest solution to your trial problem that I could come up with
was the following:

Apply[List, Apply[Interval, {{100, 200}, {150, 250}, {120, 270}, {300,
400}}]]

I hope you can figure it out.  I didn't test it on a larger input
dataset - my usual experience is that built-in functions are faster for
operations on lists than fiddling around with loops.

Regards
Mark Westwood

John Leary wrote:
> 
> 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: grouping and averaging {x,y} pairs of data
  • Next by Date: Re: List processing
  • Previous by thread: Re: List processing
  • Next by thread: Re: List processing