今天发现cov(x,1)和我自己计算的结果不同,就去看了cov的源码。发现cov源码计算和定义不同,麻烦大家帮忙看下。
为什么cov(x,1)结果是xy = (xc' * xc) / m?源码中,xc = bsxfun(@minus,x,sum(x,1)/m)是减去列的平均值,根据自协方差的定义,结果应该是xy=xc*xc'/n啊
第一个没懂的地方是为什么源码的转置放在第一个xc。根据定义转置应该放在第二个xc啊。
第二个没懂的地方是为什么结果是除以行数(m)而不是列数(n)?
先谢谢大家了!