MathGroup Archive 1998

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

Search the Archive

Re: Need integration help!


the Set[] function evaluates its right hand side and so Your definition

F[e_]=NIntegrateInterpolatingFunction[T[w]/(w^2 - e^2), {w, 1, e-1}]

fails because e is not bounded to a value the solution is simple

F[e_]:=NIntegrateInterpolatingFunction[T[w]/(w^2 - e^2), {w, 1, e-1}]

use SetDelayed[]. Additional I recommend to restikt e to numerical
values with

F[e_?NumericQ]:=NIntegrateInterpolatingFunction[T[w]/(w^2 - e^2), {w, 1,

Hope that helps.


> I'm evaluating Mathematica on a friend's machine, trying to see if I can
> do this calc so I can dump another math engine I own. I have only
> Wolfram's book and my wits.
> I am calculating an integral that looks like this:
>          4
>          /
>          | T(w)/(w^2 - 5^2) dw
>          /
>         2
> It happens that T(w) is a previously defined, debugged, and well-behaved
> InterpolatingFunction over the range of integration. I am using
> NIntegrateInterpolatingFunction. The exact Mathematica coding I use is:
> NIntegrateInterpolatingFunction[T[w]/(w^2 - 5^2), {w, 1, 4}]
> This calculates a number. FYI, the result happens to be 0.0111 for my
> T[w]. All's well so far. But, as a lead-in to my punchline question, I
> am also defining a function F thusly:
> F[e_]=NIntegrateInterpolatingFunction[T[w]/(w^2 - e^2), {w, 1, 4}]
> When I define this, I get a message 'Integrand is not numerical at w =
> 2.' I'm not sure what this means. I thought it was just a warning
> reminder that the integrand could be singular if I wasn't careful, but
> I didn't worry about it since I am making sure my value of 'e' is
> always well outside of  the integrating limits (in this case, e=5). But
> now I realize this warning probably is serious and that I need to be
> more careful because
> F[5] yields 0.0027, NOT the previous 0.0111 !!!!!
> Can anyone explain the nuances of this subtlety? What is the deep
> meaning of the above warning and how can it mess me up? Am I doing
> something improperly or dumb?
> Now, if that's not enough, *here* is the -punchline- question:
> What I *really* need to do for my application is define
> F[e_]=NIntegrateInterpolatingFunction[T[w]/(w^2 - e^2), {w, 1, e-1}]
> so I can generate a list of values F[5], F[6], F[whatever]. But
> Mathematica does not like the upper limit to be anything other than a
> number, apparently. Regardless of my earlier question, how can I define
> a function whose arguments may include an integral's upper limit?
> Help! I'd like to switch to Mathematica. There's gotta be a way to do
> this.
> Stefan Jeglinski

  • Prev by Date: Re: 3D Graphics Spherical Coordinates
  • Next by Date: Re: prograMing: generating trees
  • Prev by thread: Re: Need integration help!
  • Next by thread: Re: Need integration help!