文档帮助中心
奇异值分解
s =圣言(A)
[U,S,V]=svd(A)
(U, V) =圣言(A,“经济学”)
[U,S,V]=svd(A,0)
实例
s=圣言(A.)返回奇异值的矩阵A.在降序排列。
s=圣言(A.)
s
A.
[U,s,v]=svd(A.)执行矩阵的奇异值分解A.,这样A=U*S*V'.
[U,s,v]=svd(A.)
U
v
A=U*S*V'
[U,s,v]=svd(A.,‘经济’)产生经济规模分解M——- - - - - -N矩阵A.:
[U,s,v]=svd(A.,‘经济’)
M
N
m>n-只有第一个N一栏U计算,以及s是N——- - - - - -N.
m>n
m=n—圣言(A,“经济学”)相当于高级副总裁(A).
m=n
圣言(A,“经济学”)
高级副总裁(A)
m < n-只有第一个M一栏v计算,以及s是M——- - - - - -M.
m < n
经济规模分解从奇异值的对角矩阵中删除额外的零行或零列,s,以及U或v把表达式中的0乘起来A=U*S*V'。删除这些零和列可以提高执行时间并减少存储需求,而不会影响分解的准确性。
[U,s,v]=svd(A.,0)产生不同的经济规模分解M——- - - - - -N矩阵A.:
[U,s,v]=svd(A.,0)
m>n—高级副总裁(A,0)相当于圣言(A,“经济学”).
高级副总裁(A,0)
m<=n—高级副总裁(A,0)相当于高级副总裁(A).
m<=n
全部崩溃
计算满秩矩阵的奇异值。
A = [1 0 1;1 2 0;0 1 1]
A=3×31 0 1 -1 -2 0 0 1 -1
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 =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
计算矩形矩阵的充分分解和经济分解。
[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
自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 =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®可以生成不同的奇异向量,这些奇异向量在数值上仍然是精确的U和v可以翻转他们的符号,因为这并不影响表达式的值A=U*S*V'.
奇异值,作为对角矩阵返回。的对角元素s是按递减顺序排列的非负奇异值。的大小s详情如下:
为了M——- - - - - -N矩阵A.,即经济规模分解圣言(A,“经济学”)返回s作为阶的平方矩阵min ([m, n]).
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可以产生不同的奇异向量,这些奇异向量在数值上仍然是精确的U和v可以翻转他们的符号,因为这并不影响表达式的值A=U*S*V'.
使用注意事项及限制:
三输出语法[U,S,V]=svd(X)不支持。金宝app对于三个输出,您必须指定svd(X,'econ')或圣言(X, 0).
[U,S,V]=svd(X)
svd(X,'econ')
圣言(X, 0)
有关更多信息,请参见高阵.
代码生成使用不同的SVD实现比MATLAB使用。由于奇异值分解不是唯一的,左右奇异向量可能与MATLAB计算的奇异向量不同。
SVD
当输入矩阵包含非有限值时,生成的代码不会发出错误。相反,输出包含楠价值观
楠
代码生成不支持此函数的稀疏矩阵输入。金宝app
该功能完全支持GPU阵列。金宝app有关更多信息,请参见在GPU上运行MATLAB函数(并行计算工具箱).
该函数完全支持分布式数组。金宝app有关更多信息,请参见使用分布式数组运行MATLAB函数(并行计算工具箱).
广义奇异值分解|零|奥尔特|等级|svds|svdsketch
广义奇异值分解
svds
svdsketch
在您的系统中存在这个示例的修改版本。你想打开这个版本吗?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站以获取可用的翻译内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。
联系当地办事处