Трябва да взема проби от 10 равномерно разпределени произволни числа между 0 и 1. Затова реших, че следният код в python ще направи това:
positions = []
for dummy_i in range(1000000):
positions.append(round(random.random(),1))
Въпреки това, когато поставите резултата в хистограма, резултатът изглежда както следва:
Така че закръгляването изглежда разрушава равномерното разпределение, генерирано от random.random(). Чудя се какво причинява това и как да предотвратя това да се случи. Благодаря за вашата помощ!
collections.Counter
: опитайтеcollections.Counter(round(random.random(), 1) for _ in range(10**6))
и ще видите, че броят е приблизително еднакъв за0.1
до0.9
. - person Mark Dickinson   schedule 17.12.2015