Draw samples from a Rayleigh distribution.
The \(\chi\) and Weibull distributions are generalizations of the
scale (float or array_like of floats, optional) – Scale, also equals the mode. Should be >= 0. 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,
mt.array(scale).size samples are drawn.
(m, n, k)
m * n * k
chunk_size (int or tuple of int or tuple of ints, optional) – Desired chunk size on each dimension
gpu (bool, optional) – Allocate the tensor on GPU if True, False as default
dtype (data-type, optional) – Data-type of the returned tensor.
out – Drawn samples from the parameterized Rayleigh distribution.
Tensor or scalar
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
Brighton Webs Ltd., “Rayleigh Distribution,”
Wikipedia, “Rayleigh distribution”
Draw values from the distribution and plot the histogram
>>> import matplotlib.pyplot as plt
>>> import mars.tensor as mt
>>> values = plt.hist(mt.random.rayleigh(3, 100000).execute(), bins=200, normed=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
>>> meanvalue = 1
>>> modevalue = mt.sqrt(2 / mt.pi) * meanvalue
>>> s = mt.random.rayleigh(modevalue, 1000000)
The percentage of waves larger than 3 meters is: