I have to calculate Covaiance Matrix to do PCA, but whenever I compae my Covariance Matrix result with the covariance matrix resul from matlab (using Cov function), it gives different result.
So it means that my program is wrong.
Here is my Program:
InputMatrix=[1 2 3; 4 5 6; 9 1 2];
Average=mean(InputMatrix);
[Rows,Columns]=size(InputMatrix);
DataNumbers=Rows*Columns;
%% Substraction
for loop_row=1:Rows
for loop_column=1:Columns
Substract_Matrix(loop_row,loop_column)=InputMatrix(loop_row,loop_column)-Average(loop_column);
end
end
%% Transpose
for loop1=1:Rows
for loop2=1:Columns
Transpose_Matrix(loop2,loop1)=Substract_Matrix(loop1,loop2);
end
end
%% Multiply
CovarianceMatrix=(Substract_Matrix*Transpose_Matrix)*1/DataNumbers;
The Covariance Matrix Output given by my program :
1.5926 -0.0741 -1.5185
-0.0741 1.2593 -1.1852
-1.5185 -1.1852 2.7037
Covariance Matrix Result given by Matlab Cov Function
16.3333 -3.1667 -3.1667
-3.1667 4.3333 4.3333
-3.1667 4.3333 4.3333
Can someone help me to solve this, I already asked about it, bu no one answered yet.. T_T