Spec-Zone.ru › NumPy 1.18

numpy.random.RandomState.rayleigh

метод

RandomState.rayleigh(scale=1.0, size=None)

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

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

Примечание

Новый код должен использовать метод 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.18/reference/random/generated/numpy.random.RandomState.rayleigh.html

Spec-Zone.ru

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