Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: Calculus and InterpolatingFunction

  • To: mathgroup at smc.vnet.net
  • Subject: [mg121614] Re: Calculus and InterpolatingFunction
  • From: Barrie Stokes <Barrie.Stokes at newcastle.edu.au>
  • Date: Thu, 22 Sep 2011 07:26:07 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201109210933.FAA13140@smc.vnet.net>

Hi Stranger

Unless you're wedded to Integrate[...], NIntegrate[...] works in this case:

data = RandomReal[#]*2 & /@ Range[1, 10]
f = Interpolation[data]
Plot[f[x], {x, 1, 10}]
int1 = Integrate[f[x], {x, 1, 10}]
ClearAll[ ff ]
ff[x_] := f[x] + 1
{f[4], ff[4]}
Plot[ff[x], {x, 1, 10}]
int2 = NIntegrate[ff[x], {x, 1, 10}]
int2 - int1

Cheers

Barrie

>>> On 21/09/2011 at 7:33 pm, in message <201109210933.FAA13140 at smc.vnet.net>, Just
A Stranger <forpeopleidontknow at gmail.com> wrote:
> I'm trying to get a definite integral for an InterpolatingFunction. It works
> if it is the function by itself, but not for some reason arithmetically
> combining the InterpolatingFunction with another function makes it not
> return a value. e.g.
> 
> 
> In[1]:=
> data = RandomReal[#]*2 & /@ Range[1, 10];
> f = Interpolation[data];
> 
>>  Integrate[f[x], {x, 1, 10}]
> Out[1]:=40.098
> 
> So far so good. But just a little bit of arithmetic in the integral and it
> doesn't work anymore:
> In[2]:=
> Integrate[f[x]+1, {x, 1, 10}]
> Out[2]:=
> Integrate[Plus[1, InterpolatingFunction[][x]], List[x, 1, 10]]
> 
> (That last answer was actually the output with  //FullForm applied)
> Why won't it give me a numerical evaluation? Is there anyway to make a
> continuous function from data that will seemlessly work with Integrate? I'm
> thinking of constructing a piecwise function using Fit, Piecwise, and a
> Table for the arguments to Piecewise. But I would think  Interpolation might
> have worked and been easier. I want to figure out if I am I doing something
> wrong with Interpolation before I start trying to tackle a slightly more
> complicated piecewise defined function ?





  • Prev by Date: Re: Calculus and InterpolatingFunction
  • Next by Date: Re: passing Indeterminate and Infinity to C via MathLink
  • Previous by thread: Re: Calculus and InterpolatingFunction
  • Next by thread: Re: Calculus and InterpolatingFunction