numpy.random.uniform
- random.uniform(low=0.0, high=1.0, size=None)
-
Генерирует выборки из равномерного распределения.
Выборка равномерно распределена на полуоткрытом интервале
[low, high)(включает low, но не включает high). Другими словами, любое значение внутри данного интервала равновероятно будет выбрано функциейuniform.Примечание
Новый код должен использовать метод
uniformэкземпляраdefault_rng(), см. Быстрый старт.- Параметры
-
- lowfloat или array_like чисел с плавающей точкой, необязательно
-
Нижняя граница интервала вывода. Все сгенерированные значения будут больше или равны low. Значение по умолчанию равно 0.
- highfloat или array_like чисел с плавающей точкой
-
Верхняя граница интервала вывода. Все сгенерированные значения будут меньше или равны high. Значение по умолчанию равно 1.0.
- sizeцелое число или кортеж целых чисел, необязательно
-
Форма выходных данных. Если заданная форма, например,
(m, n, k), тогдаm * n * kвыборок генерируются. Если size не задан (по умолчанию), возвращается одно значение, еслиlowиhighявляются скалярами. В противном случае,np.broadcast(low, high).sizeвыборок генерируется.
- Возвращает
-
- outndarray или скаляр
-
Сгенерированные выборки из заданного равномерного распределения.
См. также
randint-
Дискретное равномерное распределение, возвращающее целые числа.
random_integers-
Дискретное равномерное распределение по замкнутому интервалу
[low, high]. random_sample-
Вещественные числа, равномерно распределённые по
[0, 1). random-
Псевдоним для
random_sample. rand-
Удобная функция, принимающая размеры в качестве входных данных, например,
rand(2,2)сгенерирует 2х2 массив вещественных чисел, равномерно распределённых по[0, 1). Generator.uniform-
который следует использовать в новом коде.
Примечания
Функция плотности вероятности равномерного распределения
\[p(x) = \frac{1}{b - a}\]внутри интервала
[a, b), и равна нулю вне этого интервала.Когда
high==low, возвращаются значенияlow. Еслиhigh<low, результаты неопределённы и могут в конечном итоге вызвать ошибку, т.е. не полагайтесь на то, что функция будет корректно работать при указанных аргументах. Предельное значениеhighможет быть включено в возвращаемый массив чисел с плавающей точкой из-за округления в вычисленииlow + (high-low) * random_sample(). Например:>>> x = np.float32(5*0.99999999) >>> x 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()
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/random/generated/numpy.random.uniform.html