Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: restricting interpolating functions to be positive

  • To: mathgroup at smc.vnet.net
  • Subject: [mg106422] Re: [mg106402] restricting interpolating functions to be positive
  • From: Mark McClure <mcmcclur at unca.edu>
  • Date: Tue, 12 Jan 2010 04:48:18 -0500 (EST)
  • References: <201001112352.SAA20983@smc.vnet.net>

On Mon, Jan 11, 2010 at 6:52 PM, dantimatter <google at dantimatter.com> wrote:
> 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?

Here's a (too?) simple approach:
data = {{0, 2}, {1, 0.2}, {2, 0.2}, {3, 2}};
f = Interpolation[data];
g[x_] := Max[{f[x], 0}];
Plot[{f[x], g[x]}, {x, 1, 2},
 PlotStyle -> {Thin, Thick}]

You'll lose some smoothness but you'd certainly lose smoothness by
decreasing the InterpolationOrder as well.

Mark McClure


  • Prev by Date: Re: restricting interpolating functions to be positive
  • Next by Date: Re: restricting interpolating functions to be positive
  • Previous by thread: restricting interpolating functions to be positive
  • Next by thread: Re: restricting interpolating functions to be positive