Problem using Evaluate[] inside a Plot command. 5.1
- To: mathgroup at smc.vnet.net
- Subject: [mg54019] Problem using Evaluate[] inside a Plot command. 5.1
- From: Nasser Abbasi <nma at 12000.org>
- Date: Mon, 7 Feb 2005 03:13:26 -0500 (EST)
- Reply-to: nma at 12000.org
- Sender: owner-wri-mathgroup at wolfram.com
hello, This is a really strange problem. Mathematica 5.1, ControlSystems application 2.02 (latest) Below are 2 simple examples, one works and the other does not. Any one can see why? When I call a function inside Evaluate inside the plot command it fails. But when I call the function outside the plot command, then use Evaluate on the result inside the plot, it works. Shouldn't these things be the same? Remove["Global`*"]; << ControlSystems` sys = TransferFunction[s, 1 / (s^2 + s + 1)]; (* ---- example that works -----*) y = OutputResponse[sys, UnitStep[t], t] ; Plot[{t^2 , Evaluate[y]}, {t, 0, 3},PlotRange -> All] (*--- example that does not work ----*) Plot[{t^2, Evaluate[OutputResponse[sys,UnitStep[t], t]]}, {t, 0, 3}, PlotRange -> All] (*------ end ------------------------*) I get the common error messages: plot::plnr: .... is not a machine-size real number at t=.... Notice that this does not happen for a function that I make, see this below. it works. g[t_] := t^3; Plot[{ t^2, Evaluate[g[t]]}, {t, 0, 30}] thanks, Nasser