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


Python numpy Generator.rayleigh用法及代码示例


本文简要介绍 python 语言中 numpy.random.Generator.rayleigh 的用法。

用法:

random.Generator.rayleigh(scale=1.0, size=None)

从瑞利分布中抽取样本。

和 Weibull 分布是瑞利分布的推广。

参数

scale float 或 数组 的浮点数,可选

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

size int 或整数元组,可选

输出形状。例如,如果给定的形状是 (m, n, k) ,则绘制 m * n * k 样本。如果 size 为 None(默认),如果 scale 是标量,则返回单个值。否则,将抽取np.array(scale).size 样本。

返回

out ndarray 或标量

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

注意

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

例如,如果风速的东、北分量具有相同的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
>>> 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

相关用法


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