总体标准差

Population standard deviation

我想在 MATLAB 中做一些非常简单的事情。我想计算人口标准偏差(即我想要分母 n 而不是审查的 n-1 here)。

MATLAB默认是计算样本标准差。如本例所示:

example = [0.555158185377949    0.572544871140911   0.566844451709150   0.585793022458150   0.577877363402946   0.564285735627449   0.582162844985863   0.576409646607226   0.583718583332482   0.577417064869028]
std(example)
ans =
     0.0096

对于 MuPad,adding 'Population' 似乎应该给我总体标准偏差。在 MATLAB 中,添加 'Population' 确实会产生不同于普通 std():

的结果
test1=std(example,'Population')
test1 =
       0.0087

但是那个结果好像和总体方差的平方根不一样:

sqrt(var(example,1))
ans =
    0.0091

请注意,'sample' 标准偏差确实等于 'sample' 方差的平方根,如您所料:

sqrt(var(example))
ans =
     0.0096
std(example)
ans =
     0.0096

所以问题只是人口标准差。我错过了什么吗?是否有 MATLAB 命令给出总体标准差(而不是样本标准差)?还是我总是需要取总体方差的平方根来计算总体标准差?

'flag'决定您是使用样本标准差(按n归一化)还是总体标准差(按n-1归一化)。

std(example,1)

ans =

    0.0091

与 sqrt(var(example,1)).

相同