Skip to content Skip to sidebar Skip to footer

Latin Hypercube Sampling From A Normal Distribution (python)

How to generate 10 random numbers from normal distribution using latin hypercube sampling technique in python 2.7? The range of the random number should be 5 to 14. I tried followi

Solution 1:

Try this:

defrand:
 import random
 from random import randint
 iter = 10
 segSize = 1/float(iter)
 for i inrange(iter):
         segMin = float(i) * segSize
         point = segMin + (random.normalvariate(7.5,1) * segSize)
         pointValue = (point * (14 - 5)) + 4print point
         print pointValue

Your issue seems to have been integer multiplication etc, which Python truncates to zero in your division.

When I run it, I get:

0.686848045493
10.1816324094
0.871425699273
11.8428312935
1.08794202088
13.7914781879
1.08502172623
13.7651955361
1.24462345735
15.2016111161
1.10687801576
13.9619021418
1.1394488663
14.2550397967
1.37407532844
16.3666779559
1.54666717385
17.9200045647
1.6465869841
18.8192828569

Post a Comment for "Latin Hypercube Sampling From A Normal Distribution (python)"