1. 程式人生 > >協方差矩陣的matlab計算

協方差矩陣的matlab計算

統計學概率論中,協方差矩陣是一個矩陣,其每個元素是各個向量元素之間的協方差。(Wiki)

協方差矩陣的計算以列向量為單位,是列向量各元素之間的關係的表達。

定義為:http://upload.wikimedia.org/math/a/f/6/af6bc9efa5c14e9711fd70e417325dfc.png

一個列向量也叫做一個樣本向量,列向量中的元素代表樣本,列向量中的元素的個數的和代表樣本個數。

下圖是轉自他人的協方差的Matlab實現,協方差(i,j)=(第i列所有元素-第i列均值)*(第j列所有元素-第j列均值)/(樣本數-1)

複製程式碼 =-112-231403for 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

另外: