numpy.random.Generator.rayleigh#

метод

random.Generator.rayleigh(scale=1.0, размер=None)#

Извлечение выборок из распределения Рэлея.

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

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

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

размерint или кортеж ints, опционально

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

Возвращает:
выходndarray или скаляр

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

Примечания

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

\[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
>>> rng = np.random.default_rng()
>>> values = hist(rng.rayleigh(3, 100000), bins=200, density=True)

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

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

Процент волн выше 3 метров составляет:

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