Matlab-計算協方差矩陣函式
阿新 • • 發佈:2018-12-24
一、原始碼
function [ COVMAT ] = covarianceMatrix( inputData ) % covarianceMatrix( inputData ) % 這是一個計算協方差矩陣的函式 % inputData 輸入資料 % 每一行為一個維度 % 每一列為一個樣本 %獲得輸入資料維度 [m,n] = size(inputData); %建立協方差矩陣 COVMAT = zeros(m,m); %取得每維資料平均值 E = zeros(m,1); for i = 1:m E(i) = mean(inputData(i,:)); end %計算協方差 for i = 1:m for j = 1:m COVMAT(i,j) = ((inputData(i,:)-E(i))*(inputData(j,:)-E(j))')./(n-1); end end
二、測試資料
資料樣本:
MySample = [40 45 6 45 31 4 13 27 47 48;7 48 47 24 40 7 21 45 39 47;32 1 42 46 33 37 37 19 32 8]
運算結果:
>> covarianceMatrix(MySample)
ans =
301.1556 78.0000 -120.2444
78.0000 268.9444 -126.9444
-120.2444 -126.9444 216.0111