Dav*_*rks 1 matlab standard-deviation
Matlab的:
>> std( [3 2 2 3] )
ans =
0.5774
Run Code Online (Sandbox Code Playgroud)
Layman对每个Google标准差的解释:
Mean of {3,2,2,3} = 2.5
Deviation from mean for each value = {0.5, 0.5, 0.5, 0.5}
Square of deviation from mean = {0.25, 0.25, 0.25, 0.25}
Mean of the squares = 0.25
Square root of 0.25 = 0.5
Therefore Standard Deviation of {3,2,2,3} = 0.5
Run Code Online (Sandbox Code Playgroud)
我搞砸了什么?我愚蠢地期待这两个数字同意.
And*_*eak 17
Matlab std计算校正的标准偏差.来自help std:
std将Y归一化(N-1),其中N是样本大小.这是绘制X的人口方差的无偏估计的sqrt,只要X由独立的,相同分布的样本组成.
所以你有了
Square of deviation from mean = {0.25, 0.25, 0.25, 0.25}
Run Code Online (Sandbox Code Playgroud)
那么你不计算偏差的实际均方根,但是sqrt(sum([0.25 0.25 0.25 0.25])/3).通常,sum(square of deviation)/(N-1)对于长度为矢量N.
更新:正如Leonid Beschastny指出的那样,您可以通过matlab计算未校正的标准偏差.再次,来自help std:
Y = std(X,1)将N归一化,并产生样本第二个矩的平方根.std(X,0)与std(X)相同.