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


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