       Re: Finding bounds of the domain of a Piecewise function

• To: mathgroup at smc.vnet.net
• Subject: [mg72903] Re: Finding bounds of the domain of a Piecewise function
• From: dh <dh at metrohm.ch>
• Date: Wed, 24 Jan 2007 17:41:37 -0500 (EST)
• References: <ep4k3m\$pbl\$1@smc.vnet.net>

```Hi,
if your definition is the only one for f, it  can be get by:
Downvalues[f]. Assuming further, that your function is defined as below,
then the right side of all your inequalities can be extracted by:
DownValues[f][[1, 2, 1, All, 2, 3]]
wrapping Max around this will give what you want.
Daniel

. wrote:
> Hi All,
>
> I have a routine that builds up a complicated Piecewise function, f[x].
>  All the pieces in the piecewise are restricted to some finite range
> (the ranges for each piece may be very different).  I want to find the
> absolute extreme x values which will give me a non-zero f[x].
>
> So have something along the lines of:
>
> f[x_]:=Piecewise[{
>             {f1[x], a <= x <= b},
>             {f2[x], c <= x <= d},
>             {f3[x], e <= x <= g}
> }]
>
> We can assume that a < b, c < d and e < g (all bounds are real and have
> a numeric value).  We can also assume that the ranges are
> non-overlapping (it seems PiecewiseExpand takes care of that).
> However, we can *not* assume that the segments are sorted by the x
> range. Note also that the real problem will have many more segments
> than just 3.
>
> For the purposes of discussion, assume that Max[b,d,g] == b.  I want to
> find a robust and reasonably fast way of extracting b.
>
> One idea is:
> Max[
>   Reap[
>     f[x][[1,All,2]]/.{r_?NumericQ :> Sow[r]}
>   ][]
> ]
>
> However, this seems like a bit of a hack (it is very much limited to
> the details of this particular problem).  Is there a better way which
> doesn't require quite so many assumptions?
>
> Thanks!
>

```

• Prev by Date: RE: Re: how to quickly read a >10MB big file
• Next by Date: Re: pdf
• Previous by thread: Re: Finding bounds of the domain of a Piecewise function
• Next by thread: FourierTransform help