Caution! Reuse of variables within Manipulate
- To: mathgroup at smc.vnet.net
- Subject: [mg89053] Caution! Reuse of variables within Manipulate
- From: Frank Iannarilli <frankeye at cox.net>
- Date: Sat, 24 May 2008 03:57:21 -0400 (EDT)
Hi, Here's a cautionary note about (re)use of dynamic variables inside Manipulate[]. To wit, here's code to demonstrate the issue. Note the reuse of the variable d, and Pause[]: Manipulate[ d = b; Pause[1.]; d = Max[Sin[b], Sin[a]]; Plot[a Sin[b t], {t, 0, 10}, PlotRange -> {All, {-10, 10}}], {{a, 1, "a"}, 0, 10, Appearance -> "Labeled"}, {{b, 1, "b"}, 0, 10, Appearance -> "Labeled"}, Item[Row[{Style["Goofy: ", Blue], Dynamic[d]}, Spacer[2]], Alignment -> Left] ] As one plays with the controls, the display of Dynamic[d] (labeled by "Goofy") will flicker, showing that indeed the variable d is dynamic *every point through* the body of Manipulate. I had naively assumed that one's code within Manipulate would run through from top to bottom before the display would be updated. Is this surprising, or has this been mentioned in the Documentation? Regards, Frank