{ } Raw JSON

bundles / numpy 2.4.4 / numpy / random / _generator / Generator / rayleigh

cython_function_or_method

numpy.random._generator:Generator.rayleigh

Signature

def   rayleigh ( scale = 1.0 size = None )

Summary

Draw samples from a Rayleigh distribution.

Extended Summary

The and Weibull distributions are generalizations of the Rayleigh.

Parameters

scale : float or array_like of floats, optional

Scale, also equals the mode. Must be non-negative. Default is 1.

size : int or tuple of ints, optional

Output shape. If the given shape is, e.g., (m, n, k), then m * n * k samples are drawn. If size is None (default), a single value is returned if scale is a scalar. Otherwise, np.array(scale).size samples are drawn.

Returns

out : ndarray or scalar

Drawn samples from the parameterized Rayleigh distribution.

Notes

The probability density function for the Rayleigh distribution is

The Rayleigh distribution would arise, for example, if the East and North components of the wind velocity had identical zero-mean Gaussian distributions. Then the wind speed would have a Rayleigh distribution.

Examples

Draw values from the distribution and plot the histogram
from matplotlib.pyplot import hist
rng = np.random.default_rng()
values = hist(rng.rayleigh(3, 100000), bins=200, density=True)
Wave heights tend to follow a Rayleigh distribution. If the mean wave height is 1 meter, what fraction of waves are likely to be larger than 3 meters?
meanvalue = 1
modevalue = np.sqrt(2 / np.pi) * meanvalue
s = rng.rayleigh(modevalue, 1000000)
The percentage of waves larger than 3 meters is:
100.*sum(s>3)/1000000.

Aliases

  • numpy.random.Generator.rayleigh

Referenced by