- clear; clc;
- a = randi(10, 2, 3) 生成2*3,(0,10)区间内矩阵
- % svd decomposition
- [U, D, V] = svd(a) 满足a=U*D*V'
- % eigen of a * a'
- [E1, D1] = eig(a * a') a*a'的全部特征值构成对角矩阵D1,特征向量构成E1的列向量
- % eigen of a * a'
- [E2, D2] = eig(a' * a)
- % you can find:
- % 1. U == E1, V == E2
- % 2. D1 == D2 == D^2
- clear; clc;
- a = randi(10, 2, 3);
- [rows, cols] = size(a);
- %%%%%%%% directly use function cov.%%%%%%%%
- covMatrix = cov(a);
- [E1, D1] = eig(covMatrix);
- %%%%%%%% use svd.%%%%%%%%
- % 1. zero mean
- zeroA = a - ones(rows, 1) * mean(a); 样本中心化
- % 2. svd decomposition
- [U, D, V] = svd(zeroA);
- % you can find:
- % 1. E1 == V
- % 2. D1 == D .* D