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