Re: How to Enable Automatic Recalculation
- To: mathgroup at smc.vnet.net
- Subject: [mg109860] Re: How to Enable Automatic Recalculation
- From: Murray Eisenberg <murray at math.umass.edu>
- Date: Wed, 19 May 2010 20:17:03 -0400 (EDT)
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