有人可以解释一下Matlab std()实现逻辑吗?

时间:2018-08-16 17:19:01

标签: matlab

根据文档,std函数计算每列的标准偏差。但是,当我在第一列中使用标准偏差公式时,我的结果与Matlab的结果有所不同。

Matlab的结果如下:

A = [4 -5 1; 2 3 5; -9 1 7];
S = std(A)
S = 1×3
7.0000    4.1633    3.0551

通过在第一列中使用Standard Deviation Formula,我得到了:

sqrt(((4 + 1) ^ 2 + (2 + 1) ^ 2 + ( - 9 + 1) ^ 2) / 3) =
5.71547606649

5.71547606649与7.00不同。我在做什么错D:?

非常感谢您的时间,祝您有美好的一天:D!

1 个答案:

答案 0 :(得分:1)

查看std公式。根据matlab文档的说法,ItemList因此您必须除以2而不是除以3。

请参见标准文档的第position章。

此外,您可以使用它与sqrt(1/(N-1) etc)一起使用std公式。第二个输入指定要使用的公式,使用0表示1/N, std(A,1)公式(默认),使用1表示1/(N-1)公式。