2015-03-13 64 views
0

有人問我在學校做對基質SVD:奇異值分解逼近

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

,然後:由第三奇異值σ_3設置爲零計算稱爲A_hat A的近似值。

我已經完成了SVD,但對第二部分我有點無知。有人能幫幫我嗎?

+3

就捅了零到S矩陣在正確的位置和繁殖獲得A-帽子,還是我誤解了這個問題? – harold 2015-03-13 15:28:03

+0

@harold(題外話):在這裏很好地使用「poke」這個詞!它[提醒](http://en.wikipedia.org/wiki/PEEK_and_POKE)我的舊時ZX光譜 – 2015-03-13 17:59:48

回答

2

假設MATLAB(或八度):

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 
+0

可愛的看到你彎曲你的MATLAB /八度肌肉:) – rayryeng 2015-03-13 18:29:22

+0

嘿 - 其實我只是一個偶然的MATLAB/Octave用戶,但是恰巧我最近在做Octave的一些SVD內容。 – 2015-03-13 18:55:25

+1

沒關係!傳說中的Paul R的編碼帶下還有一個缺口。 – rayryeng 2015-03-13 18:56:36