Java normal distribution

2019-01-22 02:39发布

问题:

I'm trying to simulate the arrival of fans to a stadium. The system itself, I believe it won't be a problem, but, the arrival of the fans follows a normal distribution.

My problem is:

I have a certain time for the arrival like 100 minutes and 1000 fans, and I need to generate arrivals of Fans at a time following that distribution like -> fan x arrived at 25 minutes, fan y arrived at 54 minutes, and so on.

How can I generate these random numbers following a normal distribution?

I'm doing this in Java and found the nextGaussian() method in the Random class, but I'm not sure how to use this in my situation.

Can someone please enlighten me?

回答1:

nextGaussian() will draw samples from a normal distribution with mean 0 and std-deviation 1, so if you want mean 1 hour and std-deviation 15 minutes you'll need to call it as nextGaussian()*15+60.

From the docs for Random.nextGaussian():

Returns:
the next pseudorandom, Gaussian ("normally") distributed double value with mean 0.0 and standard deviation 1.0 from this random number generator's sequence



回答2:

I suggest you to use apache math: http://commons.apache.org/math/ , look here for more information: http://commons.apache.org/math/userguide/stat.html