a MATLAB问题:a=[1 4 7];std;结果为3,可是我自己求标准方差为6,这是怎么回事呀。我错在哪里?

首先,你算出来的6不是标准差,而是方差 。std是计算标准差的 。你没弄清方差和标准差~
那么这样你就又会问,标准差出来应该是sqrt(6),可是为什么输出是3呢?
这就得看std函数的定义了,他有两种算法,分别是:

a MATLAB问题:a=[1 4 7];std;结果为3,可是我自己求标准方差为6,这是怎么回事呀。我错在哪里?

文章插图
std默认使用第一种算的 。那么要选第二种的话,就用以下命令:
>> std(a,1)
【a MATLAB问题:a=[1 4 7];std;结果为3,可是我自己求标准方差为6,这是怎么回事呀。我错在哪里?】这时候得到的就是sqrt(6)了,再平方一下就是你要求的方差了 。结果如下:
a MATLAB问题:a=[1 4 7];std;结果为3,可是我自己求标准方差为6,这是怎么回事呀。我错在哪里?

文章插图

    推荐阅读