Spec-Zone.ru › NumPy 1.19

numpy.random.rayleigh

numpy.random.rayleigh(scale=1.0, size=None)

Генерация выборок из распределения Рейли.

Распределения Рейли и Вейбулла являются обобщениями распределения Рейли.

Примечание

Новый код должен использовать метод rayleigh экземпляра default_rng(); см. random-quick-start.

Параметры
scalefloat or array_like of floats, optional

Масштаб, также совпадающий с модой. Должен быть неотрицательным. По умолчанию равен 1.

sizeint or tuple of ints, optional

Форма выходных данных. Если заданная форма, например, (m, n, k), то генерируются m * n * k выборок. Если размер равен None (по умолчанию), возвращается единственное значение, если scale является скаляром. В противном случае генерируется np.array(scale).size выборок.

Возвращаемые значения
outndarray or scalar

Сгенерированные выборки из распределения Рейли с заданными параметрами.

См. также

Generator.rayleigh

который следует использовать в новом коде.

Примечания

Функция плотности вероятности для распределения Рейли:

P(x;scale) = \frac{x}{scale^2}e^{\frac{-x^2}{2 \cdotp scale^2}}

Распределение Рейли может возникать, например, если восточная и северная компоненты скорости ветра имеют одинаковые гауссовы распределения с нулевым средним. Тогда скорость ветра будет иметь распределение Рейли.

Ссылки

1

Brighton Webs Ltd., “Распределение Рейли,” https://web.archive.org/web/20090514091424/http://brighton-webs.co.uk:80/distributions/rayleigh.asp

2

Википедия, “Распределение Рейли” https://en.wikipedia.org/wiki/Rayleigh_distribution

Примеры

Генерировать значения из распределения и построить гистограмму

>>> from matplotlib.pyplot import hist
>>> values = hist(np.random.rayleigh(3, 100000), bins=200, density=True)

Высота волн часто следует распределению Рейли. Если средняя высота волны составляет 1 метр, то какая часть волн, вероятно, будет выше 3 метров?

>>> meanvalue = 1
>>> modevalue = np.sqrt(2 / np.pi) * meanvalue
>>> s = np.random.rayleigh(modevalue, 1000000)

Процент волн, высота которых превышает 3 метра:

>>> 100.*sum(s>3)/1000000.
0.087300000000000003 # random

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/random/generated/numpy.random.rayleigh.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API