       Re: Using Intermediate Variables in DynamicModules

• To: mathgroup at smc.vnet.net
• Subject: [mg80290] Re: Using Intermediate Variables in DynamicModules
• From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
• Date: Thu, 16 Aug 2007 07:23:23 -0400 (EDT)
• Organization: Uni Leipzig
• References: <fa130g\$mt7\$1@smc.vnet.net>

```Hi,

try

f[x_] := x^2
DynamicModule[{a = 0.5, b = 0.5, work, fw},
work = Dynamic[a + b];
fw = f[work];
Column[{
Slider[Dynamic[a], {0, 2}],
Slider[Dynamic[b], {0, 2}],
{work, work /. w_NumericQ :> f[w]}
}]
]

Regards
Jens

David Park wrote:
> I am having a lot of trouble with a DynamicModule expression. I believe that
> the following examples get to the heart of the matter.
>
> Here is a DynamicModule that uses an external function f. It has two
> internal variables a and b, which are controlled by sliders. The third
> output line gives a+b and f[a+b].
>
> f[x_] := x^2
> DynamicModule[
>  {a = 0.5, b = 0.5},
>  Column[{Slider[Dynamic[a], {0, 2}],
>    Slider[Dynamic[b], {0, 2}], {Dynamic[a + b], Dynamic[f[a + b]]}}]]
>
>
> Notice that f[a+b] is fully evaluated in the output. Now in my actual case I
> have a long and complicated expression involving a and b that is used in a
> number of different places. So to clarify the entire expression I would like
> to define an intermediate expression that can then be used in the dynamic
> output. Here is my attempt:
>
> f[x_] := x^2
> DynamicModule[
>  {a = 0.5, b = 0.5, work},
>  work = Dynamic[a + b];
>  Column[{Slider[Dynamic[a], {0, 2}],
>    Slider[Dynamic[b], {0, 2}], {work, f[work]}}]]
>
> Now, although the output is formally correct, the output, and in particular
> f[work], is not fully evaluated. I think that may be the cause of my
> problem. Why, in the first case does the f expression become fully evaluated
> but not in the second case? Is there a simple way to force kernel evaluation
> when intermediate expressions are used? (I.ve tried many combinations of
> using Dynamic in the output expression and none of them changed the
> behavior.)
>
> Thanks in advanced. I've always gotten great help from this group.
>

```

• Prev by Date: Re: Evaluation question
• Next by Date: Questions about InputField
• Previous by thread: Using Intermediate Variables in DynamicModules
• Next by thread: Re: Using Intermediate Variables in DynamicModules