前几日一MM问我matlab中的cov函数是如何实现的,笔算的结果和电脑算的结果怎么不一样……于是两个人一起算了下,确实结果不太一样(其实差好远)……于是决定花时间研究了一下……于是花了不少时间才研究出来。这里把这个问题总结一下,以给后人前车之鉴。
算法实现
如何理解
matlab在计算相关矩阵时,把每一列的数作为一个随机变量的样本,每一行作为一个这几个随机变量的联合样本,即第i个随机变量取第k行的样本值时,第j个随机变量也取第k行的样本值。利用这个性质,我们就可以用协方差的公式代入来计算协方差矩阵了。
然而,由于矩阵中给出只是这些随机变量的