MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: Re: Intersection of sublists on date and making a 2D list from a 3D
  • Next by Date: Re: Just some thousands of combinations...
  • Previous by thread: Re: How to Enable Automatic Recalculation
  • Next by thread: Re: How to Enable Automatic Recalculation