当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy random.mtrand.RandomState.rayleigh用法及代码示例


用法:

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

从瑞利分布中抽取样本。

\chi和威布尔分布是瑞利的概括。

参数:
scale float 或 array_like of floats, 可选参数

规模,也等于模式。必须为非负数。默认值为1。

size int 或 tuple of ints, 可选参数

输出形状。如果给定的形状是(m, n, k), 然后m * n * k抽取样品。如果尺寸是None(默认),如果返回一个值scale是标量。除此以外,np.array(scale).size抽取样品。

返回值:
out ndarray或标量

从参数化的瑞利分布中抽取样本。

注意:

瑞利分布的概率密度函数为

P(x;scale) = \frac{x}{scale^2}e^{\frac{-x^2}{2 \cdotp scale^2}}

例如,如果风速的东和北分量具有相同的zero-mean高斯分布,则将产生瑞利分布。那么风速将具有瑞利分布。

参考文献:

[1]Brighton Webs Ltd.,“瑞利发行”,https://web.archive.org/web/20090514091424/http://brighton-webs.co.uk:80/distributions/rayleigh.asp
[2]维基百科,“Rayleigh distribution”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

注:本文由纯净天空筛选整理自 numpy.random.mtrand.RandomState.rayleigh。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。