MathGroup Archive 2010

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

Search the Archive

Re: InterpolatingFunction and NIntegrate

  • To: mathgroup at smc.vnet.net
  • Subject: [mg108459] Re: InterpolatingFunction and NIntegrate
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Fri, 19 Mar 2010 02:45:44 -0500 (EST)

timevector = Range[0, 1, 0.1];

discretesolution = RandomReal[{0, 1}, {11, 2}];

spline = Interpolation[Thread[
    {timevector, discretesolution}],
   InterpolationOrder -> 1];

f[t_?NumericQ] := Norm[spline[t] + {2, 2}]

NIntegrate[f[t], {t, 0, 1},
 MinRecursion -> 3]

3.61654


Bob Hanlon

---- Benjamin Hell <hell at exoneon.de> wrote: 

=============
Hi,
sorry for posting a similar question to my last one on such after such 
little time. This is due to the problem being a little bit different 
now. Last time I tried using Integrate, this time I am going with 
NIntegrate. The problem now is that using NIntegrate with the 
InterpolatingFunction works, but when for example adding a vector I get 
an NIntegrate::inum error, which does not make sense to me.

Here is an example of what I mean:
/timevector = Table[i*0.1, {i, 0, 10}];
discretesolution = Table[{RandomReal[], RandomReal[]}, {i, 0, 10}];
spline = Interpolation[Thread[{timevector, discretesolution}], 
InterpolationOrder -> 1]/

This does work:
/NIntegrate[Norm[spline[t]], {t, 0, 1}]/

But here I get the NIntegrate::inum error, which says that at a certain 
point t the value of Norm[spline[t] + {2, 2}] is not numerical:
NIntegrate[Norm[spline[t] + {2, 2}], {t, 0, 1}]

The error does not make sense to me. First I figured I should use 
Evaluate, because NIntegrate has the HoldAll attribute, but as 
Norm[spline[t] + {2, 2}] does not seem to be affected by HoldAll this 
does not make any difference.
So why is this not working?

Thanks again,
Benjamin




  • Prev by Date: Re: Import html
  • Next by Date: Function construction and also symmetric matrices
  • Previous by thread: Re: InterpolatingFunction and NIntegrate
  • Next by thread: Re: How to extract the x-axis and y-axis current ticks of a plot