Re: Don't understand replacement rule for some functions
- To: mathgroup at smc.vnet.net
- Subject: [mg89562] Re: [mg89538] Don't understand replacement rule for some functions
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Fri, 13 Jun 2008 06:07:48 -0400 (EDT)
- Reply-to: hanlonr at cox.net
SeedRandom[1] RandomReal[GammaDistribution[L, 1/L], 2] /. L -> 3 RandomReal::parpos: The parameter L in position 1 of GammaDistribution[L,1/L] \ should be positive >> {0.316614,0.610561} RandomReal evaluates with your symbolic argument and fails. After the failure, the replacement causes a second evaluation which is successful. To avoid the error notice, you want the replacement to occur prior to evaluating RandomReal. Consequently, use SeedRandom[1] RandomReal[GammaDistribution[L, 1/L] /. L -> 3, 2] {0.316614,0.610561} Bob Hanlon ---- Mac <mwjdavidson at googlemail.com> wrote: > Can somebody explain why the following replacement rule works > > In[15]:= f[x] /. x -> y > > Out[15]= f[y] > > and this one complains > > In[14]:= RandomReal[GammaDistribution[L, 1/L], 2] /. L -> 3 > > During evaluation of In[14]:= RandomReal::parpos: The parameter L in \ > position 1 of GammaDistribution[L,1/L] should be positive >> > > Out[14]= {1.89311, 1.11748} > > I find it quite elegant to use replacements for complicated functions > but I'm never quite sure whether the replacement is actually carried > out because of such behavior. > > Many thanks again for your help. > > Mac >