Re: Combining InterpolatingFunctions
- To: mathgroup at smc.vnet.net
- Subject: [mg107116] Re: Combining InterpolatingFunctions
- From: Peter Pein <petsie at dordos.net>
- Date: Wed, 3 Feb 2010 06:10:00 -0500 (EST)
- References: <hk8nqs$8ne$1@smc.vnet.net>
Am 02.02.2010 09:30, schrieb Simon Pearce:
> Hi MathGroup,
>
>
>
> I have two sets of InterpolatingFunctions coming from two separate
> NDSolve's. One of them is defined over the region [0,rc] and the other
> over the region [rc,2]. I would like Mathematica to automatically choose
> the correct one when I use a replacement rule. If I could tell it never
> to extrapolate this would be perfect, though I don't seem to be able to.
>
>
>
> I've tried using FunctionInterpolation, but in order to keep my error
> terms down I had to increase the InterpolationPoints to 1000, which
> increases the calculation time from approximately .5sec to 1.5sec.
>
>
>
> Can anyone suggest an efficient way of combining InterpolatingFunctions
> without re-interpolating them? Or turning the extrapolation off!
>
>
>
> Thanks,
>
>
>
> Simon Pearce
>
>
Hi Simon,
say f1 is the interpolating function for [0,rc] and f2 for [rc,2]; then
f[t_]:=Piecewise[{{f1[t],0<=t<=rc},{f2[t],rc<t<=2}}]
defines a function which returns 0 for t outside [0,2] and selects the
correct function for each subinterval (assuming they take the same value
at t==rc).
If you want to extrapolate outside [0,2], use
f[t_]:=Piecewise[{{f1[t],t<=rc}},f2[t]]
hope that helps,
Peter