Advertisement
riyadparvez

Random Generation

Jan 1st, 2012
432
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.66 KB | None | 0 0
  1. public double myRandomGenerator(double c, double alpha)
  2.     {
  3.         double u, v, t, s;
  4.        
  5.         u = Math.PI * (randomGenerator.nextDouble()-0.5);
  6.        
  7.         if(alpha == 1)              //CAUCHY
  8.         {
  9.             t = Math.tan(u);
  10.            
  11.             return c*t;
  12.         }
  13.        
  14.         do
  15.         {
  16.             v = -Math.log(randomGenerator.nextDouble());
  17.         } while(v == 0);
  18.        
  19.         if(alpha == 2)                  //GAUSSIAN
  20.         {
  21.             t = 2*Math.sin(u)*Math.sqrt(v);
  22.            
  23.             return c*t;
  24.         }
  25.        
  26.         //GENERAL CASE
  27.         t = Math.sin(alpha*u) / Math.pow(Math.cos(u), 1/alpha);
  28.         s = Math.pow(Math.cos((1-alpha)*u) / v, (1-alpha)/alpha);
  29.        
  30.         return c*t*s;
  31.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement