matlab使用过程中,总会遇到这两种分解方式,而且文献里面有时候完成的目标相同,使用的分解方式确不一样,今天做个小测试,把这两种分解方式弄清楚一些。
clc;
clear all;
m=3;n=5;
P=randn(m,n);
P=P*diag(1./sqrt(diag(P'*P)));
G=P'*P;
[U1 V1]=eig(G)
[U2 S2 V2]=svd(G)
(1)分解对称矩阵
U1 =
0.6927 -0.1214 -0.0361 -0.5642 -0.4310
-0.3936 -0.6736 0.2685 0.0727 -0.5603
0.3349 -0.1639 -0.5991 0.6672 -0.2388
0.1786 0.5323 0.5762 0.4019 -0.4372
0.4704 -0.4704 0.4855 0.2640 0.5021
V1 =
-0.0000 0 0 0 0
0 0.0000 0 0 0
0 0 0.6022 0 0
0 0 0 1.3739 0
0