2.3 奇异值分解

奇异值的分解在某些方面与对称矩阵或者Hermite矩阵基于特征向量的对角化类似

如:

>> A = rand(5)

A =

     664/815        694/7115       589/3737       689/4856      3581/5461  
    1298/1433       408/1465      6271/6461       407/965        489/13693 
     751/5914      1324/2421       581/607       1065/1163       439/517   
     717/785        338/353        614/1265        61/77         283/303   
    1493/2361       687/712       1142/1427      1966/2049      1481/2182  


>> [V,D,U] = svd(A)

V =

   -1749/7066     -2221/3966       937/2268       129/224        561/1601  
    -611/1725     -4813/9244     -2543/3356      -131/11843    -1058/6197  
    -536/1155       721/1199      -413/2460      1375/2268      -229/1386  
   -1313/2398      -496/4191       494/1039     -1015/3063      -525/887   
    -457/837        154/773       -139/4660      -308/705       1011/1474  


D =

    1567/473          0              0              0              0       
       0           1210/1283         0              0              0       
       0              0           1629/1949         0              0       
       0              0              0           2585/5344         0       
       0              0              0              0             79/3990  


U =

    -379/880      -1401/1585       337/6355      -479/5417      1291/8591  
    -752/1745       740/3353      1205/6144      -175/239       -274/627   
   -1919/4156       184/2067      -516/691        847/2734      -527/1489  
    -307/649        937/2532       -95/1191      -639/6247       815/1033  
   -2200/5023      1510/9527       551/877       1124/1901      -572/2907  

>> help svd
svd - 奇异值分解

    此 MATLAB 函数 以降序顺序返回矩阵 A 的奇异值。

    s = svd(A)
    [U,S,V] = svd(A)
    [U,S,V] = svd(A,'econ')
    [U,S,V] = svd(A,0)
原文地址:https://www.cnblogs.com/zgqcn/p/11274604.html