----- Original Message ----- 
  
  
  Sent: Thursday, June 02, 2005 6:18 
  AM
  Subject: [amibroker] Random numbers
  
  hi,
   
  the random() function generates numbers between 0 
  and 1, distributed "linearly" (not sure this is the proper term  -> 
  statistics was a while back .....). Meaning that if you run 
  Lastvalue(random()) a million times we would about get the same hits with 0.9 
  as with 0.3.
   
  (0.5 - Random()) * 2  gives you a function 
  with numbers between -1 and 1  with a "linear" distribution.
   
  What I want is to generate random numbers between 
  -1 and 1 which do not have a "linear" distribution. They should have some 
  kind of Gaussian distribution where chances a number generated near 0 is 
  greater than a number generated neat -1 or 1. 
   
  I made this Gauss function (see below) but this 
  generates numbers with a standard deviation of 1 but does not have a high or 
  low number restriction.  So I want the numbers to fluctuate randomly 
  between -1 and 1 but still have some form of Gauss function in them so that a 
  hit at 1 occurs less frequent than at 0.3.
   
  thanks,
   
  rgds, Ed
   
   
  function gauss_func() { 
  
   w = 1; 
   while( w >= 1 ) { 
      x1 
  = 2.0 * LastValue(Random()) - 1; 
      x2 = 
  2.0 * LastValue(Random()) - 1; 
      w = x1 * 
  x1 + x2 * x2; 
   } 
   w = 
  sqrt( (-2 * log(w)) / w ); 
   y1 = x1 * w; 
  
   //y2 = x2 * 
  w; 
    
   return y1; 
} 
Please 
  note that this group is for discussion between users only.
To get 
  support from AmiBroker please send an e-mail directly to 
SUPPORT {at} 
  amibroker.com
For other support material please check also:
http://www.amibroker.com/support.html
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links