在MATLAB中,我認爲randn
返回一個隨機數,它屬於正態分佈,平均值爲0,標準偏差爲0.因此,我期望得到一個範圍(0,1)內的數字。但是我得到的是一個不在範圍內的數字(0,1)。爲什麼randn函數返回一個大於1的數字?
請讓我知道我錯了?
在MATLAB中,我認爲randn
返回一個隨機數,它屬於正態分佈,平均值爲0,標準偏差爲0.因此,我期望得到一個範圍(0,1)內的數字。但是我得到的是一個不在範圍內的數字(0,1)。爲什麼randn函數返回一個大於1的數字?
請讓我知道我錯了?
您正在考慮統一分配。理論上,正態分佈的數字非常大,可能性非常低。 randn
的平均值爲0,標準偏差爲1.正態分佈爲鐘形曲線/高斯形狀,相對於標準偏差,平均概率和概率下降的概率最高。
你在找什麼是rand
- 這是一個統一的隨機分佈,它給出的數字在0到1之間,所有點的概率都是偶數。
非常感謝 – John
其實randn
輸出的標準偏差爲1,而不是零。這意味着獲得大於1的數字的概率是16%,並且獲得小於零的數字的概率是50%。
混亂的另一種可能的來源:
甲normal distribution均值0
和方差1
經常表示Ñ(0,1)。這有時稱爲標準正態分佈,並且意味着從所有實數中抽取樣本,即範圍(,+ ∞),其中平均值爲0
和方差1
。在這種情況下,標準偏差也是1
,但是這個表示法指定了方差(很多這樣做)。變換Ñ(μ,σ )= μ + σ Ñ(0,1),其中μ是平均值,σ 是方差,並且σ是標準偏差,是非常有用的。
類似地,開放間隔(0,1)上的continuous uniform distribution通常表示爲U(0,1)。這通常被稱爲標準均勻分佈,並且意味着樣本從範圍(0,1)中均勻地繪製。類似地,變換ù(A,B)= A +(B −一個)ù(0,1),其中a和b表示標度間隔的邊緣,是有用的。
請注意,在這兩種情況下0
和1
除了作爲描述每個分佈的參數之外並不代表相同的事情。這兩個分佈採樣的範圍稱爲support。
*'randn'產生[正態分佈](https://en.wikipedia.org/wiki/Normal_distribution)隨機數具有零均值和單位** **標準偏差(_i.e_它等於1),該可以等於(可能)任何數字。 –