文档帮助中心
奇异值分解
S = SVD(A)
[U, V] =圣言(A)
[U,S,V] = SVD(A, '经济舱')
(U, V) =圣言(A, 0)
例子
年代= SVD(一个)返回奇异值矩阵的一个按降序排列。
年代= SVD(一个)
年代
一个
(U,年代,V)=圣言(一个)执行矩阵的奇异值分解一个,这样一个= U * * V '。
(U,年代,V)=圣言(一个)
U
V
一个= U * * V '
(U,年代,V)=圣言(一个“经济学”)产生经济规模分解米-通过-n矩阵一个:
(U,年代,V)=圣言(一个“经济学”)
米
n
m > n-只有第一个n列U计算,年代是n-通过-n。
m > n
m = n- - - - - -SVD(A, '经济舱')相当于圣言(A)。
m = n
SVD(A, '经济舱')
圣言(A)
M -只有第一个米列V计算,年代是米-通过-米。
经济规模分解从奇异值对角矩阵中去除额外的零行或零列,年代,以及其中的列U要么V该乘法中表达的那些零一个= U * * V '。删除这些零和列可以提高执行时间并减少存储需求,而不会影响分解的准确性。
(U,年代,V)=圣言(一个,0)产生的一个不同的经济尺寸分解米-通过-n矩阵一个:
(U,年代,V)=圣言(一个,0)
m > n- - - - - -圣言(0)相当于SVD(A, '经济舱')。
圣言(0)
m < = n- - - - - -圣言(0)相当于圣言(A)。
m < = n
全部折叠
计算一个满秩矩阵的奇异值。
A = [1 0 1;-1 -2 0;0 1 -1]
一个=3×31 0 1 -1 -2 0 0 1 -1
S =3×12.4605 1.6996 0.2391
找到矩形矩阵的奇异值分解一个。
A = [12];3 4;5 6;7 8]
一个=4×21 2 3 4 5 6 7 8
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 0 0
V =2×20.6414 0.7672 - 7672 -0.6414
确定的关系一个= U * * V ',机器精度内。
U * S * V”
ans =4×21.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000
计算矩形矩阵充分和经济规模分解。
(U, V) =圣言(,“经济学”)
U =4×2-0.1525 -0.8226 - 3499 -0.4214 -0.5474 -0.0201 -0.7448 0.3812
S =2×214.2691 0 0 0.6268
以来一个是4乘2,SVD(A, '经济舱')返回更少的列U少排在年代与完全分解相比。额外的零行年代与?中的对应列一起被排除U它会和表达式中的0相乘一个= U * * V '。
利用奇异值分解的结果来确定矩阵的秩、列空间和零空间。
A = [20 0 2;0 1 0;0 0 0)
一个=3×32 0 2 0 1 0 0 0 0
U =3×31 0 0 0 1 0 0 0 1
S =3×32.8284 000 1.0000 0000 000
V =3×30.7071 0 -0.7071 0 1.0000 0 0.7071 0 0.7071
计算使用非零奇异值的数量的秩。
s =诊断接头(年代);rank_A = nnz (s)
rank_A = 2
的列空间计算一个标准正交基一个使用的列U对应于非零奇异值。
column_basis = U(:逻辑(s))
column_basis =3×21 0 0 1 0 0
的零空间的标准正交基一个使用的列V对应于奇异值等于0。
null_basis = V(:,〜S)
null_basis =3×1-0.7071 0 0.7071
的函数排名,奥尔特和空值提供计算这些量的方便方法。
排名
奥尔特
空值
输入矩阵。一个大小可以是正方形或长方形。
数据类型:单|双复数的支持:万博1manbetx是的
单
双
奇异值,作为列向量返回。奇异值是非负的实数,按递减顺序排列。
左奇异向量,作为矩阵的列返回。
对于一个米-通过-n矩阵一个与m > n,经济规模的分解SVD(A, '经济舱')和圣言(0)只计算第一个n列U。在这种情况下,列U是正交的,U是一个米-通过-n矩阵满足 U H U = 我 n 。
完全分解,圣言(A)返回U作为米-通过-米酉矩阵满足 U U H = U H U = 我 米 。的列U对应于非零奇异值形成的范围的一组标准正交基向量一个。
不同的机器和MATLAB的版本®可以产生不同的奇异向量,仍然是精确的数字。对应的列U和V可翻转自己的招牌,因为这不影响表达式的值一个= U * * V '。
奇异值,作为对角矩阵返回。的对角元素年代是降序非负奇异值。的大小年代如下:
对于一个米-通过-n矩阵一个,经济规模的分解SVD(A, '经济舱')返回年代作为一个方阵分钟([M,N])。
分钟([M,N])
完全分解,圣言(A)返回年代与尺寸相同的一个。
如果m > n,然后圣言(0)返回年代作为一个方阵分钟([M,N])。
如果M ,然后圣言(0)返回年代与尺寸相同的一个。
M ,然后圣言(0)返回年代与尺寸相同的一个。
右奇异向量,返回一个矩阵的列。
对于一个米-通过-n矩阵一个与M ,经济分解SVD(A, '经济舱')只计算第一个米列V。在这种情况下,列V是正交的,V是一个n-通过-米矩阵满足 V H V = 我 米 。
M ,经济分解SVD(A, '经济舱')只计算第一个米列V。在这种情况下,列V是正交的,V是一个n-通过-米矩阵满足 V H V = 我 米 。
完全分解,圣言(A)返回V作为n-通过-n酉矩阵满足 V V H = V H V = 我 n 。的列V做不对应的非零奇异值构成的零空间的一组标准正交基向量一个。
不同的机器和MATLAB的释放可以产生不同的奇异向量仍然是数值精确的。对应的列U和V可翻转自己的招牌,因为这不影响表达式的值一个= U * * V '。
用法说明和限制:
三个输出语法[U, V] =圣言(X)不支持。万博1manbetx对于三路输出,必须指定圣言(X,“经济学”)要么SVD(X,0)。
[U, V] =圣言(X)
圣言(X,“经济学”)
SVD(X,0)
欲了解更多信息,请参阅高大的数组。
代码生成使用不同的圣言会实现比MATLAB用途。由于奇异值分解不是唯一的,左,右奇异向量可能会从那些由MATLAB计算不同。
圣言会
当输入矩阵包含一个非限定值,所生成的代码不会发出一个错误。相反,输出包含南值。
南
代码生成器不支持此功能稀疏矩阵输入。万博1manbetx
此功能完全支持GPU阵列。万博1manbetx欲了解更多信息,请参阅在GPU上运行MATLAB函数(并行计算工具箱)。
此功能完全支持分布式数组。万博1manbetx欲了解更多信息,请参阅与分布阵列运行MATLAB功能(并行计算工具箱)。
定理|空值|奥尔特|排名|圣言会
定理
这个例子的修改版本的系统上存在。你要打开这个版本呢?
您点击了对应于以下MATLAB命令的链接:
通过在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在可用的地方获得翻译内容,并查看当地的活动和优惠。根据您的位置,我们建议您选择:。
您还可以选择从下面的列表中的网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系