【发布时间】:2014-02-25 17:41:17
【问题描述】:
我在 Matlab 中有一个 75x60 的数组。我正在尝试做 PCA。我试图通过确保 eig(matrix) 返回的最大特征值返回与 [ud v] = svd(matrix) 中的 d(1)*d(1) 相同的东西来检查我的工作。他们疯了。我能看到的唯一可能出错的是贬低。
这是我处理贬低的方式:
%v is a 75x60 array
%rowS is 75
avgVector= mean(v,1);
muMatrix = repmat(avgVector,rowS,1);
v = v-muMatrix;
如果我调用 SVD(v),它将返回与 eig(cov(v)) 截然不同的值,无论 v 是否经历了上述贬低。
【问题讨论】: