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