在Matlab中进行奇异值分解

时间:2012-01-10 16:35:58

标签: matlab

  

可能重复:
  Efficient low-rank appoximation in MATLAB

我正在尝试在matlab中为尺寸为7468 x 1193的矩阵进行SVD​​。令人惊讶的是,它需要很长时间 - 我认为这是一个相对较小的Matlab / SVD矩阵。在matlab中是否有更好的SVD实现可以解决这种大小的矩阵?我真的不需要来自U和V的所有奇异向量,但是它们相对较少(比如大约50个)。

1 个答案:

答案 0 :(得分:6)

是的,可以在matlab中使用svds(最后加s):

k=50;
[U,S,V]=svds(A,k);