[Date Index]
[Thread Index]
[Author Index]
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
*Reply-to*: hanlonr at cox.net
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[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:
**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**
| |