Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

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

Search the Archive

Re: SetDelayed

  • To: mathgroup at smc.vnet.net
  • Subject: [mg92894] Re: SetDelayed
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Fri, 17 Oct 2008 05:23:39 -0400 (EDT)
  • Organization: The Open University, Milton Keynes, UK
  • References: <gd7068$iba$1@smc.vnet.net>

Itzhak wrote:

> Why does Mathematica reply with:
> 
> .."Integrand [(x-Cos[y])/(1+x^2-2*x*Cos[y])^1.5 is not numerical at {y}={1.5708}", to the following:
> 
> Clear[f]
> f[x_]:=NIntegrate[(x-Cos[y])/(1+x^2-2*x*Cos[y])^1.5,{y,0,Pi}];
> Plot[Evaluate[f[x],{x,0,2}]
> 
> How should it be written?

   Clear[f]
   f[x_?NumericQ] :=
    NIntegrate[(x - Cos[y])/(1 + x^2 - 2*x*Cos[y])^1.5, {y, 0, Pi}]
   Plot[f[x], {x, 0, 2}]

It might be worth reading the following article, "How do I write a 
function which evaluates only when the argument is a number?"

http://support.wolfram.com/mathematica/kernel/features/evalwhennumber.html

Regards,
-- Jean-Marc


  • Prev by Date: Reduce Question
  • Next by Date: Dynamic problem (possibly simple)
  • Previous by thread: Re: SetDelayed
  • Next by thread: Strange results of Integrate