协方差矩阵的matlab计算

来源:互联网 发布:动态二维数组初始化 编辑:程序博客网 时间:2024/05/17 06:40

在统计学与概率论中,协方差矩阵是一个矩阵,其每个元素是各个向量元素之间的协方差。(Wiki)

协方差矩阵的计算以列向量为单位,是列向量各元素之间的关系的表达。

定义为:http://upload.wikimedia.org/math/a/f/6/af6bc9efa5c14e9711fd70e417325dfc.png

一个列向量也叫做一个样本向量,列向量中的元素代表样本,列向量中的元素的个数的和代表样本个数。

下图是转自他人的协方差的Matlab实现,协方差(i,j)=(第i列所有元素-第i列均值)*(第j列所有元素-第j列均值)/(样本数-1)

复制代码
=
    
-1     1     2
    
-2     3     1
     
4     0     3

for i=1:size(a,2
    
for j=1:size(a,2
        c(i,j)
=sum((a(:,i)-mean(a(:,i))).*(a(:,j)-mean(a(:,j))))/(size(a,1)-1);
    end 
end

c =

   10.3333   -4.1667    3.0000

   -4.1667    2.3333   -1.5000

    3.0000   -1.5000    1.0000

From: http://www.cnblogs.com/cvlabs/archive/2010/05/08/1730319.html

可参见 http://blog.csdn.net/ybdesire/article/details/6270328/

另外:

UIUC同学收集的代码合集: http://blog.csdn.net/godenlove007/article/details/8723333

0 0