Re: FunctionInterpolation and NIntegrate
- To: mathgroup at smc.vnet.net
- Subject: [mg120826] Re: FunctionInterpolation and NIntegrate
- From: "Kevin J. McCann" <kjm at KevinMcCann.com>
- Date: Fri, 12 Aug 2011 05:03:44 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j20g47$8vd$1@smc.vnet.net>
Glenn,
I believe this happens because, in spite of the fact that NIntegrate is
numerical, it still tries to do symbolic things before getting down to
it. I don't exactly understand. Anyway, to get around this, you can set
up your function f so that it only evaluates if the argument is numeric
by doing the following:
Clear[f,r,s]
f[r_?NumericQ]:=NIntegrate[r+s],{s,0,1}]
Try evaluating f[a] with and without the addition, and you will see that
with it, you just get back f[a].
Kevin
On 8/11/2011 7:57 AM, gac wrote:
> f[r_] := NIntegrate[r + s , {s, 0, 1}]
> g = FunctionInterpolation[f[r], {r, 0, 1}]
>
> Can anyone explain why this works, yet I get the msg:
>
> NIntegrate::inumr: "The integrand r+s has evaluated to non-numerical values for all sampling points in the region with boundaries {{0,1}}."
>
> Can the statements be reformed to avoid the msg?
>
> Thanks.
>
> Glenn
>