Re: Controlling the order of evaluations
- To: mathgroup at smc.vnet.net
- Subject: [mg93051] Re: [mg92985] Controlling the order of evaluations
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Fri, 24 Oct 2008 02:34:15 -0400 (EDT)
- Reply-to: hanlonr at cox.net
f[x_?NumericQ, y_?NumericQ] := NIntegrate[2^(s*x), {s, 0, y}] Plot[f[x, #] & /@ {2, 3, 4, 5}, {x, 0.5, 1.5}] Bob Hanlon ---- anguzman at ing.uchile.cl wrote: ============= Hello: Several times I have faced similar problems to this one: Suppose I have a function f[x,y] well defined only in numbers, I mean, it drops errors if I try to evaluate symbols. You could suppose that is a function that include numerical integration in its definition... What I want to do is plotting several curves f[x,y1], f[x,y2],...f[x,yn] with x as abscissa for specific (and fixed) values of y in the same plot. So, what I always end up trying is something like: Plot[f[x,#]&/@{y1,y2,....,yn},{x,a,b}] Mathematica (5.2 Version for Windows) complains but finally interprets correctly what I meant and does the plot correctly (sometimes)with all the curves , but this errors are annoying. They are always of the form: \" bla bla.. f[x,y1] is not numerical at ....\" I would be very gratefull if somebody could explain me (or just give the solution to this thing) the correct order of Holds, HoldFirsts, HoldPatterns , Evaluate , Unevaluated etc... that make Mathematica happy. By the way, I already tried: Plot[Evaluate[f[x,#]&/@{y1,y2,....,yn}],{x,a,b}] but didn=B4t work. I=B4ll give an specific example: f[x_, y_] := NIntegrate[2^(s*x), {s, 0, y}] Plot[Evaluate[f[x, #] & /@ {2, 3, 4, 5}], {x, 0.5, 1.5}] Generates the 4 curves after giving errors like: \"NIntegrate::\"inum\" \"Integrand 2^(s*x) is not numerical at s = 1. \" So what I want to do is that the x of the Plotting evaluation enters f[x,y] before f even sees the x and start freaking out. Thanks in advance Atte. Andres Guzman ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- Bob Hanlon