numpy.random.rayleigh
-
numpy.random.rayleigh(scale=1.0, size=None) -
Генерация случайных чисел из распределения Рейли.
Распределения Рейли и Вейбулла являются обобщениями.
Параметры: -
scale : float or array_like of floats, optional -
Масштаб, также равен моде. Должно быть >= 0. По умолчанию 1.
-
size : int or tuple of ints, optional -
Форма выходного массива. Если заданная форма, например,
(m, n, k), то генерируютсяm * n * kслучайных чисел. Если размер равенNone(по умолчанию), то возвращается одно значение, еслиscaleскалярное. В противном случае генерируютсяnp.array(scale).sizeслучайных чисел.
Возвращает: -
out : ndarray or scalar -
Сгенерированные случайные числа из распределения Рейли.
Примечания
Функция плотности вероятности распределения Рейли:
Распределение Рейли может возникать, например, если восточный и северный компоненты скорости ветра имеют одинаковые гауссовы распределения с нулевым средним. Тогда скорость ветра будет иметь распределение Рейли.
Ссылки
[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
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.random.rayleigh.html