numpy.random.uniform#
- random.uniform(низкий=0.0, высокий=1.0, размер=None)#
Извлекайте выборки из равномерного распределения.
Выборки равномерно распределены по полуоткрытому интервалу
[low, high)(включает нижнюю границу, но исключает верхнюю). Другими словами, любое значение в заданном интервале с равной вероятностью может быть выбраноuniform.Примечание
Новый код должен использовать
uniformметодGeneratorэкземпляр вместо; пожалуйста, смотрите Быстрый старт.- Параметры:
- низкийfloat или array_like из floats, необязательный
Нижняя граница выходного интервала. Все сгенерированные значения будут больше или равны low. Значение по умолчанию — 0.
- высокийfloat или array_like из float
Верхняя граница выходного интервала. Все сгенерированные значения будут меньше или равны high. Верхний предел может быть включён в возвращаемый массив чисел с плавающей точкой из-за округления в уравнении
low + (high-low) * random_sample(). Значение по умолчанию равно 1.0.- размерint или кортеж ints, опционально
Форма вывода. Если заданная форма, например,
(m, n, k), затемm * n * kобразцы извлекаются. Если size равенNone(по умолчанию), возвращается единственное значение, еслиlowиhighоба являются скалярами. В противном случае,np.broadcast(low, high).sizeвыбираются образцы.
- Возвращает:
- выходndarray или скаляр
Выборки из параметризованного равномерного распределения.
Смотрите также
randintДискретное равномерное распределение, дающее целые числа.
random_integersДискретное равномерное распределение на замкнутом интервале
[low, high].random_sampleВещественные числа, равномерно распределенные по
[0, 1).randomПсевдоним для
random_sample.randУдобная функция, которая принимает размерности в качестве входных данных, например,
rand(2,2)сгенерирует двумерный массив чисел с плавающей точкой, равномерно распределенных по[0, 1).random.Generator.uniformкоторый следует использовать для нового кода.
Примечания
Функция плотности вероятности равномерного распределения равна
\[p(x) = \frac{1}{b - a}\]в любом месте интервала
[a, b), и ноль в остальных местах.Когда
high==low, значенияlowбудет возвращён. Еслиhigh<low, результаты официально не определены и в конечном итоге могут вызвать ошибку, т.е. не полагайтесь на то, что эта функция будет вести себя корректно при передаче аргументов, удовлетворяющих этому условию неравенства. Thehighпредел может быть включен в возвращаемый массив чисел с плавающей запятой из-за округления с плавающей запятой в уравненииlow + (high-low) * random_sample(). Например:>>> x = np.float32(5*0.99999999) >>> x np.float32(5.0)
Примеры
Извлечь выборки из распределения:
>>> s = np.random.uniform(-1,0,1000)
Все значения находятся в заданном интервале:
>>> np.all(s >= -1) True >>> np.all(s < 0) True
Отображение гистограммы выборок вместе с функцией плотности вероятности:
>>> import matplotlib.pyplot as plt >>> count, bins, ignored = plt.hist(s, 15, density=True) >>> plt.plot(bins, np.ones_like(bins), linewidth=2, color='r') >>> plt.show()