奇异值分解近似

时间:2015-03-13 15:19:52

标签: matlab linear-algebra svd

我被要求在学校对矩阵进行SVD​​:

A = [1 3 1 2;
     0 2 1 4; 
     6 5 2 1]

然后:通过将第三个奇异值σ_3设置为零来计算A的近似值。

我已经完成了SVD,但我对第二部分毫无头绪。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

假设MATLAB(或Octave):

A = [1 3 1 2;
     0 2 1 4;
     6 5 2 1];
[U,S,V] = svd(A);
S(3,3) = 0;
A_hat = U*S*V';

这给出了:

A_hat =

   1.37047   2.50649   1.03003   2.30320
  -0.20009   2.26654   0.98378   3.83625
   5.90727   5.12352   1.99248   0.92411