我想在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
请注意,“样本”标准偏差确实等于“样本”方差的平方根,正如您所期望的那样:
sqrt(var(example))
ans =
0.0096
std(example)
ans =
0.0096
因此,问题仅在于人口标准偏差。我错过了什么吗?是否有MATLAB命令给出总体标准偏差(而不是样本标准偏差)?或者我是否总是需要采用总体方差的平方根来计算人口标准差?
答案 0 :(得分:0)
'标志'确定您是使用样本标准差(由n标准化)还是人口标准差(由n-1标准化)。
std(example,1)
ans =
0.0091
与sqrt(var(example,1))相同。