设矩阵A为输入。A的每一行为一个观测值,每一列代表一个特征(变量)。
计算步骤如下:
1. 计算每一变量的均值(列均值);
2. 中心化──每个元素减去该列的列均值;
3. 转置并相乘。
Matlab代码如下:
function C = mycov(A)
avg = mean(A);
num = size(A, 1);
normA = A - repmat(avg, num, 1);
C = (normA' * normA) / (num -1);
这和Matlab的cov函数输出一致。
设矩阵A为输入。A的每一行为一个观测值,每一列代表一个特征(变量)。
计算步骤如下:
1. 计算每一变量的均值(列均值);
2. 中心化──每个元素减去该列的列均值;
3. 转置并相乘。
Matlab代码如下:
function C = mycov(A)
avg = mean(A);
num = size(A, 1);
normA = A - repmat(avg, num, 1);
C = (normA' * normA) / (num -1);
这和Matlab的cov函数输出一致。