Re: Re: Number of interval Intersections for a large number of intervals
- To: mathgroup at smc.vnet.net
- Subject: [mg81751] Re: [mg81718] Re: [mg81679] Number of interval Intersections for a large number of intervals
- From: Brett Champion <brettc at wolfram.com>
- Date: Wed, 3 Oct 2007 02:21:09 -0400 (EDT)
- References: <4236415.1191246194428.JavaMail.root@m35> <200710020936.FAA28508@smc.vnet.net>
On Oct 2, 2007, at 4:36 AM , DrMajorBob wrote: > [WRI: there's a Plot/Piecewise insect (bug?) noted below.] > > I'm having to guess a bit, but maybe this is what you mean: > > intervals = Sort /@ RandomReal[{-1, 1}, {10^5, 2}]; > trans = Transpose@intervals; > {{min, maxLow}, {minHigh, max}} = Through[{Min, Max}@#] & /@ trans; > {low, high} = > Interpolation[Transpose@{Sort@#, -1 + Range@Length@#}, > InterpolationOrder -> 0] & /@ trans; > > Clear[count] > count[x_] /; x < min = 0; > count[x_] /; x > max = 0; > count[x_] /; x < minHigh := low[x] > count[x_] /; x > maxLow := low[maxLow] - high[x] > count[x_] := low[x] - high[x]; > First@Timing@Plot[count@x, {x, -1, 1}] > > 0.031 > > or > > Clear[count2] > count2[x_] = > Piecewise[{{0, x < min}, {low[x], x < minHigh}, {low[x] - high[x], > x <= maxLow}, {low[maxLow] - high[x], x <= max}}]; > First@Timing@Plot[count2@x, {x, -1, 1}] > > 0.047 > > INSECT report: If I use a small number of Intervals -- 10, say -- > the two > plots are different. The Piecewise version doesn't have "returns" > at some > of the discontinuities, even though the following plots the zero > function > as expected: > > Plot[count2@x - count@x, {x, -1, 1}] > > Is this an example of Exclusions->Automatic at work? > > If so, why aren't all the returns omitted? > Conditional definitions of functions, such as used to define count[], are not detected by the automatic calculation of exclusions. I don't think this is a bug, although it is an interesting idea. In the case of count2[], there are only going to be exclusions at the Piecewise boundaries: x==min, x==max, x==minHigh, x==maxLow. The interpolating function used by low[] and high[] will be a black box to it. Brett Champion Wolfram Research
- References:
- Re: Number of interval Intersections for a large number of intervals
- From: DrMajorBob <drmajorbob@bigfoot.com>
- Re: Number of interval Intersections for a large number of intervals