奇異值分解的一道題
阿新 • • 發佈:2020-12-19
技術標籤:研矩陣+高代+代基
A = U Σ V T A=U\Sigma V^T A=UΣVT
- 我先用
A=[36 -6 6;2 13 22;22 38 -13; 4 26 44]
[X,B] =eig(A'*A)
- 算出了
V
V
V的每一列!
- 隱藏在X變數的每一列
>> [X,B] =eig(A'*A)
X =
-0.6667 -0.6667 0.3333
0.6667 -0.3333 0.6667
-0.3333 0.6667 0.6667
B =
1.0e+03 *
1.1250 0 0
0 2.0250 0
0 0 3.6000
- 然後求出了U的三列!
- 必須用這種方法去求!
- 記得標準化哦!
>> A*X(:,1)
ans =
-30.0000
-0.0000
15.0000
-0.0000
>> A*X(:,2)
ans =
-18.0000
9.0000
-36.0000
18.0000
>> A*X(:,3)
ans =
12.0000
24.0000
24.0000
48.0000
- 最後求得U的0對應的特徵向量!
[X,B] = eig(A*A')
A =
36 -6 6
2 13 22
22 38 -13
4 26 44
X =
-0.0000 0.8944 0.4000 -0.2000
-0.8944 -0.0000 -0.2000 -0.4000
-0.0000 -0.4472 0.8000 -0.4000
0.4472 0 -0.4000 -0.8000
B =
1.0e+03 *
-0.0000 0 0 0
0 1.1250 0 0
0 0 2.0250 0
0 0 0 3.6000
檢測做的對不對!
U=[1/5 -2/5 -2/sqrt(5) 0;
2/5 1/5 0 2/sqrt(5);
2/5 -4/5 1/sqrt(5) 0;
4/5 2/5 0 -1/sqrt(5)]
V =[1/3 -2/3 -2/3;
2/3 -1/3 2/3;
2/3 2/3 -1/3]
sigma = [60 0 0 ;0 45 0 ; 0 0 sqrt(1125) ; 0 0 0 ]
U*sigma*V'