Re: How to evaluate parts of an expression, but not other parts?

*To*: mathgroup at smc.vnet.net*Subject*: [mg122689] Re: How to evaluate parts of an expression, but not other parts?*From*: Bob Hanlon <hanlonr357 at gmail.com>*Date*: Sun, 6 Nov 2011 05:55:23 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <201111050945.EAA10308@smc.vnet.net>

a = f[x]; b = g[x]; c = 2 f[x]; d = f[x] + 3 g[x]; expr = Hold[((a + b) + (c + d))]; ReplacePart[expr, { Position[expr, Literal[a]] -> a, Position[expr, Literal[b]] -> b, Position[expr, Literal[c]] -> c, Position[expr, Literal[d]] -> d}] Hold[(f[x] + g[x]) + (2 f[x] + (f[x] + 3 g[x]))] Bob Hanlon On Sat, Nov 5, 2011 at 5:45 AM, Julian Francis <julian.w.francis at gmail.com> wrote: > Dear all, > > I'd like to use the TreePlot function to visualise the expression of a > dynamic programming problem I am working on. > > If I have something like: ( (a+b) + (c+d ) > > Mathematica helpfully simplifies this to: a + b + c + d > > But I'd prefer it to be in the original form. > > I can't write Hold[ ( (a+b) + (c+d) )] because I do want a,b,c & d to > be evaluated. > > I want to write something like: > Hold[ ( (Evaluate[a]+Evaluate[b]) + (Evaluate[c]+Evaluate[d]) ) ] > > But this just leaves the Evaluate expressions unevaluated. > > Any help greatly appreciated. > > Thanks, > Julian. >

**References**:**How to evaluate parts of an expression, but not other parts?***From:*Julian Francis <julian.w.francis@gmail.com>