Re: Dynamic problem (possibly simple)
- To: mathgroup at smc.vnet.net
- Subject: [mg92905] Re: Dynamic problem (possibly simple)
- From: "David Park" <djmpark at comcast.net>
- Date: Sat, 18 Oct 2008 06:23:57 -0400 (EDT)
- References: <gd9lh6$egl$1@smc.vnet.net>
The following is a method that I use. It uses the idea that we have primary dynamic variables that are set by controls, in this case aufpunkt, and dependent variables that are calculated from the primary variables, in this case x and y the coordinates of the point. We then create a routine, calcAll, that calculates all the dependent quantities from the primary quantities. The second argument of Dynamic is used to assure that all the dependent quantities are calculated each time a primary dynamic variable is adjusted. It is easy to generalize this by having more primary variables with their controls and more arguments in calcAll. Just include the second Dynamic argument in every control and use calcAll. You could use Module or DynamicModule here depending on how you want the variables localized. Module[ {(* Primary dynamic variable *) aufpunkt = {0, 0}, (* Dependent variables *) x, y, (* Routine to calculate dependent variables *) calcAll}, calcAll[p_] := {x, y} = p; (* Initialize dependent variables *) calcAll[aufpunkt]; Column[ {Slider2D[ Dynamic[aufpunkt, (aufpunkt = #; calcAll[aufpunkt]) &], {{-2, -2}, {2, 2}}], Dynamic[Row[{("y")^2, Spacer[5], , y^2}]] }] ] -- David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ "m.g." <mg at michaelgamer.de> wrote in message news:gd9lh6$egl$1 at smc.vnet.net... > Hi all, > > I have the following problem: I want to dynamically plot a function > (tangential plane to a 3D Plot) One part is that I have to compute the > gradient of the function. I could not manage this (dynamically). I > have stripped of any unnessesary code to descripe the problem, so look > at this: > > This makes a slider to select a point (works well, of course) > > {Slider2D[Dynamic[aufpunkt], {{-2, -2}, {2, 2}}], Dynamic[aufpunkt]} > > This should do a computation with "aufpunkt" (does not work) > > DynamicModule[{x, y, a, b}, > x = Dynamic[aufpunkt[[1]]]; y = Dynamic[aufpunkt[[2]]]; > y^2 > ] > > The output is not evaluated, I get, for instance, (0.5)^2, instead of > 0.25. How can I manage to get the formula (y^2 in this case) > evaluatet? > > Greetings > > Mike >
- Follow-Ups:
- RE: Re: Dynamic problem (possibly simple)
- From: "E. Martin-Serrano" <eMartinSerrano@telefonica.net>
- RE: Re: Dynamic problem (possibly simple)