       Re: Calculus and InterpolatingFunction

• To: mathgroup at smc.vnet.net
• Subject: [mg121608] Re: Calculus and InterpolatingFunction
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Thu, 22 Sep 2011 07:25:02 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com

```data = RandomReal[#]*2 & /@ Range[1, 10];

f = Interpolation[data];

Integrate[f[x], {x, 1, 10}]

52.9041

Use NIntegrate

NIntegrate[f[x] + 1, {x, 1, 10}]

61.9041

Or Map over the expression

Integrate[#, {x, 1, 10}] & /@ (f[x] + 1)

61.9041

Bob Hanlon

---- 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:=
data = RandomReal[#]*2 & /@ Range[1, 10];
f = Interpolation[data];

>  Integrate[f[x], {x, 1, 10}]
Out:=40.098

So far so good. But just a little bit of arithmetic in the integral and it
doesn't work anymore:
In:=
Integrate[f[x]+1, {x, 1, 10}]
Out:=
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: Size of Control[] and OpenerView in Manipulate
• Next by Date: Re: Calculus and InterpolatingFunction
• Previous by thread: Re: Calculus and InterpolatingFunction
• Next by thread: Re: Calculus and InterpolatingFunction