Re: Calculus and InterpolatingFunction
- To: mathgroup at smc.vnet.net
- Subject: [mg121625] Re: Calculus and InterpolatingFunction
- From: "Kevin J. McCann" <Kevin.McCann at umbc.edu>
- Date: Thu, 22 Sep 2011 07:28:06 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j5cb71$cvl$1@smc.vnet.net>
You need to use NIntegrate.
Kevin
On 9/21/2011 5:36 AM, Just A Stranger 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 ?