Re: restricting interpolating functions to be positive
- To: mathgroup at smc.vnet.net
- Subject: [mg106455] Re: restricting interpolating functions to be positive
- From: Noqsi <jpd at noqsi.com>
- Date: Wed, 13 Jan 2010 05:58:01 -0500 (EST)
- References: <higdjs$kfi$1@smc.vnet.net>
On Jan 11, 4:52 pm, dantimatter <goo... at dantimatter.com> wrote:
> Hi All,
>
> I would like to construct an interpolation that can only take on
> positive values. The data that I'm trying to interpolate is all
> positive, but for some reason the Interpolation[] function 'wants' to
> connect the dots by dipping below zero. Is there a way to force
> positivity? Or should I simply adjust the InterpolationOrder until it
> works?
One way is to transform the data. Choose a positive real function f,
apply its inverse to the data. Tranform the interpolation back using
f.
Exp[] often is a good choice for f. Using Valeri's example data:
data = {{0, 2}, {1, 1}, {2, .2}, {3, .01}, {4, 1}, {5, 0.9}, {6,
0.05}, {7, 0.1}, {8, 1}}
logdata = data /. {x_, y_} -> {x, Log[y]}
interp[x_] = Exp[Interpolation[logdata][x]]
If you plot interp[x], you'll see that it avoids zero.
- Follow-Ups:
- Re: restricting interpolating functions to be positive
- From: Noqsi <jpd@noqsi.com>
- Re: restricting interpolating functions to be positive
- From: Ray Koopman <koopman@sfu.ca>
- Re: Re: restricting interpolating functions to be positive
- From: DrMajorBob <btreat1@austin.rr.com>
- Re: restricting interpolating functions to be positive
- From: schochet123 <schochet123@gmail.com>
- Re: Re: restricting interpolating functions to be positive
- From: DrMajorBob <btreat1@austin.rr.com>
- Re: restricting interpolating functions to be positive