Re: Re: How to Enable Automatic Recalculation
- To: mathgroup at smc.vnet.net
- Subject: [mg109930] Re: [mg109886] Re: How to Enable Automatic Recalculation
- From: Murray Eisenberg <murray at math.umass.edu>
- Date: Sun, 23 May 2010 03:17:53 -0400 (EDT)
- References: <ht1uua$3cf$1@smc.vnet.net> <201005211045.GAA01168@smc.vnet.net>
- Reply-to: murray at math.umass.edu
In the kind of situation the OP described, undoubtedly Dynamic is not a good idea. But in other situations: I couldn't live without it now. Thus, I use Manipulate all the time to whip up demonstrations for class -- and for me! -- and of course Manipulate is just a cover for a bunch of Dynamic stuff. Just because Dynamic may make programming more difficult is hardly a reason to denigrate it. By that reasoning, anything that is complicated and hence causes programming difficulties -- for some users -- should be banished. On 5/21/2010 6:45 AM, Nasser M. Abbasi wrote: > hi Murray; > > I do not think using Dynamics is a good idea. For me Dynamics is like goto > on steroids, it makes it much harder to understand the logic of the code > when looking at the source code. (along the same lines of using goto's or > catch/throw to control logic of code would not be a good idea) > > For me, I do not think Dynamics was a good thing to add to Mathematica. Yes, > it has cool side effects, but on the other hand, it makes programming in > Mathematica, when using Dynamics, so much more complex to understand. > > We have the classic event listener GUI model around which everyone > understood how that works as it is a simple model why make a new one? May > there is some good internal design reasons in Mathematica beyond my limited > understand of it which beyong the scope of this topic. > > I now have a new measure of what makes a Mathematica expert: You are a > mathematica expert, if you REALLY do understand Dynamics :) > > --Nasser > > > "Murray Eisenberg"<murray at math.umass.edu> wrote in message > news:ht1uua$3cf$1 at smc.vnet.net... >> There IS a "simple" answer. Actually, two answers. it used to be that >> the only way to do this was to use SetDelayed ( := ) for the symbol you >> wanted to be recalculated whenever you changed another variable whose >> values was specified by Set ( = ). Since Mathematica 6, you also have >> the more sophisticated method of using Dynamic quantities. >> >> (* method 1: use SetDelayed instead of Set for b *) >> a = 5; >> b := 3 + a >> b >> 8 >> a = Pi; >> b >> 3 + Pi >> >> >> (* method 2: use Dynamic *) >> Clear[a,b] >> Dynamic[a] >> a >> a = 3; (* preceding output changes to 3 *) >> b = 3 + a >> 6 >> a = Pi; >> b >> 3 + Pi >> >> (* method 3: another way to use Dynamic *) >> Clear[a,b] >> a = 3; >> Dynamic[b = 3 + a] >> 6 >> a = Pi; (* preceding ouptput changes to 3 + Pi *) >> b >> 3 + Pi >> >> >> >> On 5/19/2010 7:01 AM, Victor Roberts wrote: >>> I'm new to Mathematica, so perhaps there is a simple answer >>> to this question. >>> >>> How to I set Mathematica so that when I change the value >>> assigned to a variable it will automatically change all >>> later calculations that use that variable. >>> >>> For example, if I set >>> >>> a = 5 >>> >>> and >>> >>> b = 3 + a >>> >>> I would like the value of b updated each time I change the >>> value of a. >>> >>> Right how, I need to recalculate each and every expression >>> that uses the variable a if I change its value. There must >>> be a better way. >>> >>> >>> -- >>> Vic Roberts >>> Replace xxx with vdr in e-mail address. >>> >> >> -- >> Murray Eisenberg murray at math.umass.edu >> Mathematics& Statistics Dept. >> Lederle Graduate Research Tower phone 413 549-1020 (H) >> University of Massachusetts 413 545-2859 (W) >> 710 North Pleasant Street fax 413 545-1801 >> Amherst, MA 01003-9305 >> > > > -- Murray Eisenberg murray at math.umass.edu Mathematics & Statistics Dept. Lederle Graduate Research Tower phone 413 549-1020 (H) University of Massachusetts 413 545-2859 (W) 710 North Pleasant Street fax 413 545-1801 Amherst, MA 01003-9305
- References:
- Re: How to Enable Automatic Recalculation
- From: "Nasser M. Abbasi" <nma@12000.org>
- Re: How to Enable Automatic Recalculation