如何在 SVD 函数后从主矩阵中删除行和列?

how to remove rows and cols from main matrix after SVD function?

我有:

 A =
 1     2     3
 2     4     5
 5     5     5

[U S V]=svd(A)  

如何从 SVD 函数中删除 A 矩阵的维数?

我假设您想获得矩阵的简化版本 A

这是使用PCA完成的,搜索一下。例如,如果您希望缩减矩阵 A 具有 K 维度:

[m, ~] = size(A);

Sigma = 1.0/m .* A' * A;
[U, S, ~] = svd(Sigma);

newA = zeros(size(A, 1), K);

for i = 1:size(A, 1),
    for j = 1:K,
        x = A(i, :)';
        projection_k = x' * U(:, j);
        newA(i, j) = projection_k;
    end
end
end

因此矩阵 newA 将是 A 的简化版本,具有 K 个维度。

你最好搜索一下PCA