Re: question about HoldForm
- To: mathgroup at smc.vnet.net
- Subject: [mg60790] Re: question about HoldForm
- From: albert <awnl at arcor.de>
- Date: Thu, 29 Sep 2005 05:40:57 -0400 (EDT)
- References: <dhdbc3$8eg$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
> x = 2; HoldForm[x^2 + 4x + 4]
>
> Is there a way to operate on HoldForm so that I get (x^2+2)^2? If I cut
> a paste the result and operate on it I obviously get 16.
This should do what you want:
x = 2;
expr = HoldForm[x^2 + 4x + 4];
Block[{x}, HoldForm @@ {(Factor @@ expr)}]
Anyway it is a good idead to not set symbols you want to use as parameters
in expressions to values in the first place. You an then insert values
whenever needed with ReplaceAll ( /. ):
expr=x^2 + 4x + 4
Factor[expr]
expr /. { x -> 2 }
albert