svd 奇异值分解

语法:

s = svd(A)
[U,S,V] = svd(A)

说明:
s = svd(A) 以降序顺序返回矩阵 A 的奇异值;
[U,S,V] = svd(A) 执行矩阵 A 的奇异值分解,因此 A = USV’。

举例:
1)计算满秩矩阵的奇异值。

A = [1 0 1; -1 -2 0; 0 1 -1]
A = 3×3

 1     0     1
-1    -2     0
 0     1    -1

s = svd(A)
s = 3×1

2.4605
1.6996
0.2391

2)求矩形矩阵 A 的奇异值分解。

A = [1 2; 3 4; 5 6; 7 8]
A = 4×2

 1     2
 3     4
 5     6
 7     8

[U,S,V] = svd(A)
U = 4×4

-0.1525   -0.8226   -0.3945   -0.3800
-0.3499   -0.4214    0.2428    0.8007
-0.5474   -0.0201    0.6979   -0.4614
-0.7448    0.3812   -0.5462    0.0407

S = 4×2

14.2691         0
     0    0.6268
     0         0
     0         0

V = 2×2

-0.6414    0.7672
-0.7672   -0.6414

在计算机精度范围内确认关系 A = USV’。

USV’
ans = 4×2

1.0000    2.0000
3.0000    4.0000
5.0000    6.0000
7.0000    8.0000
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐