當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。