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