主要内容

svd

奇异值分解

描述

实例

s=圣言(A.)返回奇异值的矩阵A.在降序排列。

实例

[U,s,v]=svd(A.)执行矩阵的奇异值分解A.,这样A=U*S*V'

实例

[U,s,v]=svd(A.,‘经济’)产生经济规模分解M——- - - - - -N矩阵A.:

  • m>n-只有第一个N一栏U计算,以及sN——- - - - - -N

  • m=n圣言(A,“经济学”)相当于高级副总裁(A)

  • m < n-只有第一个M一栏v计算,以及sM——- - - - - -M

经济规模分解从奇异值的对角矩阵中删除额外的零行或零列,s,以及Uv把表达式中的0乘起来A=U*S*V'。删除这些零和列可以提高执行时间并减少存储需求,而不会影响分解的准确性。

实例

[U,s,v]=svd(A.,0)产生不同的经济规模分解M——- - - - - -N矩阵A.:

  • m>n高级副总裁(A,0)相当于圣言(A,“经济学”)

  • m<=n高级副总裁(A,0)相当于高级副总裁(A)

例子

全部崩溃

计算满秩矩阵的奇异值。

A = [1 0 1;1 2 0;0 1 1]
A=3×31 0 1 -1 -2 0 0 1 -1
s =圣言(A)
s =3×12.4605 1.6996 0.2391

求一个矩形矩阵的奇异值分解A.

A=[12;34;56;78]
A=4×21 2 3 4 5 6 7 8
[U,S,V]=svd(A)
U =4×40.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×214.2691 0 0 0.6268 0 0 0 0
五=2×2-0.6414 0.7672 -0.7672 -0.6414

确认关系A=U*S*V',在机器精度范围内。

U * * V”
ans=4×21.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000

计算矩形矩阵的充分分解和经济分解。

A=[12;34;56;78]
A=4×21 2 3 4 5 6 7 8
[U,S,V]=svd(A)
U =4×40.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×214.2691 0 0 0.6268 0 0 0 0
五=2×2-0.6414 0.7672 -0.7672 -0.6414
[U,S,V]=svd(A,“经济学”)
U =4×2-0.1525 -0.8226 -0.3499 -0.4214 -0.5474 -0.0201 -0.7448 0.3812
S =2×214.2691 0 0 0.6268
五=2×2-0.6414 0.7672 -0.7672 -0.6414

A.4×2的矩阵,圣言(A,“经济学”)在中返回较少的列U行数更少s与完全分解相比,在s与中的相应列一起排除U这将与表达式中的零相乘A=U*S*V'

使用奇异值分解的结果确定矩阵的秩、列空间和零空间。

A=[2 0 2;0 1 0;0 0 0]
A=3×32 0 2 0 1 0 0 0
[U,S,V]=svd(A)
U =3×31 0 0 0 1 0 0 0 1
S =3×32.8284 0 0 0 1.0000 0 0 0 0
五=3×30.7071 0 -0.7071 0 1.0000 0 0.7071 0 0.7071

使用非零奇异值的数目计算秩。

s=diag(s);秩A=nnz(s)
rank_A = 2

计算的列空间的正交基A.使用U对应于非零奇异值。

列基础=U(:,逻辑)
列基础=3×21 0 0 1 0 0

计算的零空间的正交基A.使用v对应于等于零的奇异值。

null_basis = V (:, ~)
null_basis =3×1-0.7071 0 0.7071

功能等级,奥尔特,提供计算这些数量的方便方法。

输入参数

全部崩溃

输入矩阵。A.大小可以是正方形或矩形。

数据类型:仅有一个的|双重的
复数支持:金宝app

输出参数

全部崩溃

奇异值,作为列向量返回。奇异值是按降序列出的非负实数。

左奇异向量,作为矩阵的列返回。

  • 为了M——- - - - - -N矩阵A.具有m>n,经济规模分解圣言(A,“经济学”)高级副总裁(A,0)只计算第一个N一栏U.在这个例子中,列U是正交的,并且U是一个M——- - - - - -N满足 U H U = N

  • 对于完全分解,高级副总裁(A)返回U作为一个M——- - - - - -M酉矩阵满足 U U H = U H U = M .的列U对应于非零奇异值的,形成了一组正交基向量,其范围为A.

不同的机器和发布的MATLAB®可以生成不同的奇异向量,这些奇异向量在数值上仍然是精确的Uv可以翻转他们的符号,因为这并不影响表达式的值A=U*S*V'

奇异值,作为对角矩阵返回。的对角元素s是按递减顺序排列的非负奇异值。的大小s详情如下:

  • 为了M——- - - - - -N矩阵A.,即经济规模分解圣言(A,“经济学”)返回s作为阶的平方矩阵min ([m, n])

  • 对于完全分解,高级副总裁(A)返回s和…大小一样A.

  • 如果m>n然后高级副总裁(A,0)返回s作为阶的平方矩阵min ([m, n])

  • 如果m < n然后高级副总裁(A,0)返回s和…大小一样A.

右奇异向量,返回为矩阵的列。

  • 为了M——- - - - - -N矩阵A.具有m < n,经济分解圣言(A,“经济学”)只计算第一个M一栏v.在这个例子中,列v是正交的,并且v是一个N——- - - - - -M满足 v H v = M

  • 对于完全分解,高级副总裁(A)返回v作为一个N——- - - - - -N酉矩阵满足 v v H = v H v = N .的列v那是对应于非零奇异值,形成一组正交基向量,用于A.

不同的机器和版本的MATLAB可以产生不同的奇异向量,这些奇异向量在数值上仍然是精确的Uv可以翻转他们的符号,因为这并不影响表达式的值A=U*S*V'

扩展能力

之前介绍过的R2006a