SVD

奇异值分解

描述

小号= SVD(一个返回奇异值矩阵的一个按降序排列。

[ü小号V] = SVD(一个执行矩阵的奇异值分解一个,这样A = U * S * V”

[ü小号V] = SVD(一个“经济舱”)产生的经济尺寸分解-通过-ñ矩阵一个

  • M> N- 只有第一ñü是计算,并且小号ñ-通过-ñ

  • m = n时-SVD(A, '经济舱')相当于SVD(A)

  • M - 只有第一V是计算,并且小号-通过-

经济规模从分解的奇异值的对角矩阵消除零额外的行或列,小号,随着在任一列ü要么V该乘法中表达的那些零A = U * S * V”。删除这些零和列可以提高执行时间和降低存储需求又不损害分解的准确性。

[ü小号V] = SVD(一个,0)产生的一个不同的经济尺寸分解-通过-ñ矩阵一个

  • M> N-SVD(A,0)相当于SVD(A, '经济舱')

  • 米<= N-SVD(A,0)相当于SVD(A)

例子

全部收缩

计算满秩矩阵的奇异值。

A = [1 0 1;-1 -2 0;0 1 -1]
A =3×31 0 1 -1 -2 0 0 1 -1
S = SVD(A)
S =3×12.4605 1.6996 0.2391

找到矩形矩阵的奇异值分解一个

A = [1 2;3 4;5 6;7 8]
A =4×21 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×214.2691 0 0 0.6268 0 0 0 0
V =2×2-0.6414 0.7672 -0.7672 -0.6414

确认关系A = U * S * V”,机器精度内。

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

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

A = [1 2;3 4;5 6;7 8]
A =4×21 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×214.2691 0 0 0.6268 0 0 0 0
V =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
V =2×2-0.6414 0.7672 -0.7672 -0.6414

以来一个是4乘2,SVD(A, '经济舱')返回较少的列ü少排在小号相比完全分解。零额外行的小号被排除在外,以在相应的列沿ü这将与在表达那些零相乘A = U * S * V”

使用奇异值分解的结果来确定排名,列空间,以及矩阵的零空间。

A = [2 0 2;0 1 0;0 0 0]
A =3×32 0 2 0 1 0 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
V =3×30.7071 0 -0.7071 0 1.0000 0 0.7071 0 0.7071

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

S = DIAG(S);rank_A = NNZ(S)
rank_A = 2

用于计算的列空间的正交基一个使用的列ü对应于非零奇异值。

column_basis = U(:,逻辑(S))
column_basis =3×21 0 0 1 0 0

用于计算的零空间的标准正交基一个使用的列V对应于奇异值等于零。

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

功能奥尔特空值提供便捷的方法来计算这些量。

输入参数

全部收缩

输入矩阵。一个在尺寸上可以任一正方形或矩形。

数据类型:|
复数支持:万博1manbetx

输出参数

全部收缩

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

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

  • -通过-ñ矩阵一个M> N,经济规模的分解SVD(A, '经济舱')SVD(A,0)仅计算第一ñü。在这种情况下,列ü是正交的,ü是一个-通过-ñ矩阵满足 ü H ü = 一世 ñ

  • 对于完全分解,SVD(A)回报ü作为-通过-满足酉矩阵 ü ü H = ü H ü = 一世 。的列ü对应于非零奇异值形成的范围内的一组正交基矢量的一个

不同的机器和MATLAB的版本®可以产生仍数值准确不同奇异向量。在相应的栏目üV可翻转自己的招牌,因为这不影响表达式的值A = U * S * V”

奇异值,返回为对角矩阵。的对角线元素小号是降序非负奇异值。的大小小号如下:

  • -通过-ñ矩阵一个,经济规模的分解SVD(A, '经济舱')回报小号作为阶次方阵分钟([M,N])

  • 对于完全分解,SVD(A)回报小号与尺寸相同的一个

  • 如果M> N, 然后SVD(A,0)回报小号作为阶次方阵分钟([M,N])

  • 如果M , 然后SVD(A,0)回报小号与尺寸相同的一个

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

  • -通过-ñ矩阵一个M ,经济分解SVD(A, '经济舱')只计算第一个V。在这种情况下,列V是正交的,V是一个ñ-通过-矩阵满足 V H V = 一世

  • 对于完全分解,SVD(A)回报V作为ñ-通过-ñ满足酉矩阵 V V H = V H V = 一世 ñ 。的列V该做的对应于非零奇异值形成的零空间的一组正交基矢量的一个

不同的机器和MATLAB的释放可以产生仍数值准确不同奇异向量。在相应的栏目üV可翻转自己的招牌,因为这不影响表达式的值A = U * S * V”

扩展功能

也可以看看

||||

主题

R2006a前推出