Re: Simulation
- To: mathgroup at smc.vnet.net
- Subject: [mg19411] Re: [mg19353] Simulation
- From: "Mark E. Harder" <harderm at ucs.orst.edu>
- Date: Mon, 23 Aug 1999 13:57:20 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Roberto,
First, replace the Random[Integer,...] function with a user-defined
function ranStep, which returns -1 and 1 1/6 of the time and 0 the remainder
of the times (Press, et.al. "Numerical Recipes in Fortran" describe this
method of converting a uniform random distribution to one with unequal
probabilities):
ranStep[]:=If[
Random[Real,{0.,1.}]<N[1/6],Return[-1],
If[Random[Real,{0.,1.}]>N[5/6],Return[1],Return[0] ] ]
Then use it in the statement you already wrote:
data=Table[NestList[#+0.01*ranStep[]&,5,100]]
Out[113]=
{5,5,4.99,4.99,4.99,4.99,4.99,4.99,4.99,4.99,4.99,4.99,4.99,4.99,4.99,5.,5.,
4.99,4.98,4.98,4.98,4.98,4.98,4.98,4.98,4.98,4.98,4.97,4.97,4.97,4.97,4.97,
4.98,4.98,4.97,4.97,4.96,4.96,4.96,4.96,4.96,4.96,4.97,4.97,4.96,4.95,4.95,
4.95,4.95,4.95,4.95,4.95,4.96,4.96,4.96,4.95,4.95,4.95,4.94,4.94,4.94,4.94,
4.93,4.93,4.93,4.93,4.93,4.93,4.94,4.94,4.94,4.94,4.94,4.94,4.94,4.94,4.95,
4.96,4.97,4.97,4.98,4.98,4.98,4.98,4.99,4.99,4.99,4.99,4.99,4.98,4.97,4.98,
4.97,4.97,4.96,4.96,4.97,4.96,4.96,4.95,4.95}
-mark
-----Original Message-----
From: Roberto Diego <r-diego at develnet.es>
To: mathgroup at smc.vnet.net
Subject: [mg19411] [mg19353] Simulation
>Hi there,
>
>I need help on how the expression:
>
>data=Table[NestList[#+0.01*Random[Integer,{-1,1}]&,5,1000]];
>
>could be modified in order to get -1 with probability 1/6, 0 with p 4/6 and
>1 with p 1/6 instead of 1/3,1/3,1/3
>
>Thanks a lot
>
>Roberto Diego
>Sociedad de Bolsas
>
>
>