Spec-Zone.ru › NumPy 2.0

numpy.random.RandomState.rayleigh

метод

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

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

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

Примечание

В новом коде следует использовать метод rayleigh экземпляра Generator; см. Быстрый старт.

Параметры:
scalefloat или array_like float, необязательно

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

sizeint или кортеж из целых чисел, необязательно

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

Возвращает:
outndarray или скаляр

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

См. также

random.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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/random/generated/numpy.random.RandomState.rayleigh.html

Spec-Zone.ru

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