numpy.random.uniform
- random.uniform(low=0.0, high=1.0, size=None)
-
Генерирует выборки из равномерного распределения.
Выборка равномерно распределена на полуоткрытом интервале
[low, high)(включает низкую границу, но не включает верхнюю). Другими словами, любое значение в заданном интервале равновероятно будет сгенерировано функциейuniform.Примечание
Новый код должен использовать метод
uniformэкземпляраGeneratorкласса; см. Быстрый старт.- Параметры:
-
- lowfloat или array_like из float, необязательно
-
Нижняя граница интервала. Все сгенерированные значения будут больше или равны low. По умолчанию 0.
- highfloat или array_like из float
-
Верхняя граница интервала. Все сгенерированные значения будут меньше или равны high. Верхняя граница может быть включена в возвращаемый массив из-за округления с плавающей точкой в выражении
low + (high-low) * random_sample(). По умолчанию 1.0. - sizeint или кортеж из int, необязательно
-
Форма выходных данных. Если заданная форма, например,
(m, n, k), тоm * n * kвыборок генерируются. Если размер имеет значениеNone(по умолчанию), то возвращается единственное значение, еслиlowиhighявляются скалярами. В противном случаеnp.broadcast(low, high).sizeвыборок генерируется.
- Возвращаемое значение:
-
- outndarray или скаляр
-
Сгенерированные выборки из равномерного распределения.
См. также
randint-
Дискретное равномерное распределение, возвращающее целые числа.
random_integers-
Дискретное равномерное распределение на замкнутом интервале
[low, high]. random_sample-
Вещественные числа, равномерно распределенные по
[0, 1). random-
Псевдоним для
random_sample. rand-
Удобная функция, принимающая размерности в качестве входных данных, например,
rand(2,2)сгенерирует массив 2x2 с вещественными числами, равномерно распределенными по[0, 1). random.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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/random/generated/numpy.random.uniform.html