Re: Dynamic

*To*: mathgroup at smc.vnet.net*Subject*: [mg87376] Re: Dynamic*From*: "David Park" <djmpark at comcast.net>*Date*: Wed, 9 Apr 2008 05:53:25 -0400 (EDT)*References*: <ftfeji$bue$1@smc.vnet.net>

Hi Gianluca, I think what you are missing is the use of a second argument in Dynamic. See the 'Introduction To Dynamic' tutorial and scroll down toe 'The Second Argument of Dynamic'. So I think you want: DynamicModule[{p = 0}, {Slider[Dynamic[p]], Dynamic[p + 1, (p = # - 1) &]}] This is always a little difficult to get used to but # is the value that you want displayed (p+1) so the pure function is the inverse function. -- David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ "Gianluca Gorni" <gianluca.gorni at dimi.uniud.it> wrote in message news:ftfeji$bue$1 at smc.vnet.net... > > Hi! > > I am trying to learn how the new Dynamic features work. > > The following two Manipulate expressions give outputs that > make perfect intuitive sense to me: > > Manipulate[q = p + 1; > q, > {p, 0, 1}] > > Manipulate[q = p + 1; > FullForm@q, > {p, 0, 1}] > > (don't keep both outputs active at the same time > if you are short on battery power!) > > When I try to reproduce similar effects with > DynamicModule, I get all sorts of different behaviours. > Compare the following: > > DynamicModule[{p = 0, q}, > q = p + 1; > {Slider[Dynamic@p], q}] > > DynamicModule[{p = 0, q}, > q = p + 1; > {Slider[Dynamic@p], Dynamic@q}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p] + 1; > {Slider[Dynamic@p], q}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p] + 1; > {Slider[Dynamic@p], FullForm@q}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p] + 1; > {Slider[Dynamic@p], FullForm@Dynamic@q}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p] + 1; > {Slider[Dynamic@p], Dynamic@FullForm@q}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p + 1]; > {Slider[Dynamic@p], q}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p + 1]; > {Slider[Dynamic@p], q[[1, 1]]}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p + 1]; > {Slider[Dynamic@p], q[[1, 2]]}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p + 1]; > {Slider[Dynamic@p], Dynamic@q}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p + 1]; > {Slider[Dynamic@p], Dynamic[q[[1, 1]]]}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p + 1]; > {Slider[Dynamic@p], Dynamic[q[[1, 2]]]}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p + 1]; > {Slider[Dynamic@p], FullForm@q}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p + 1]; > {Slider[Dynamic@p], Dynamic@FullForm@q}] > > DynamicModule[{p = 0, q}, > q = Dynamic[p + 1]; > {Slider[Dynamic@p], FullForm@Dynamic@q}] > > Right now all I need is a few kind words of encouragement > from somebody who has already mastered dynamic interactivity... > > Gianluca > >