Re: Replacement question
- To: mathgroup at smc.vnet.net
- Subject: [mg35143] Re: [mg35114] Replacement question
- From: Andrzej Kozlowski <andrzej at lineone.net>
- Date: Tue, 25 Jun 2002 19:55:57 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
How about something like: In[1]:= h[x_] := x^3; f[x_] := x^4; In[2]:= h[3]/f[2] Out[2]= 27/16 In[3]:= Block[{h, f}, In[2] /. h[3] -> h[5]] Out[3]= 125/16 Andrzej Kozlowski Toyama International University JAPAN htt On Tuesday, June 25, 2002, at 04:41 PM, ginak wrote: > Suppose I have something like > > In [100] := h[3]/f[2.33342] > > Out[100] := 24.12711 > > and now I want to evaluate h[5]/f[2.33342], i.e. the same as in > In[100] but replaceing h[3] with h[5]. This won't work > > In [101] := In[100] /. h[3]->h[5] > > Out[101] := 24.12711 > > because In[100] is fully evaluated to 24.12711 before the rule is > applied. (Generally, the expressions I'm interested in are more of a > pain to type than h[5]/f[2.33342]). How do I tell Mathematica to > evaluate > In[100] only enough to apply the given substition rule, apply the > substitution rule, and only then proceed with the evaluation? > > In fact, I don't even know how to do a replacement like > > In [102] := h[3]/f[2.33342] /. h[3]->h[5] > > for the same reason: the LHS is evaluated before the rule can be > applied. (Of course, in this case this replacment task is pointless, > since it is so easy to type out the desired expression, but there are > situations in which one can obtain a complicated expression by cutting > and pasting, and wants to apply a substitution rule to the complicated > expression before Mathematica evaluates it.) > > Thanks! > > G. > > > > p://platon.c.u-tokyo.ac.jp/andrzej/