文档

圣言会

奇异值分解

语法

s =圣言(A)
[U, V] =圣言(A)
(U, V) =圣言(A,“经济学”)
(U, V) =圣言(A, 0)

描述

例子

年代=圣言(一个返回奇异值的矩阵一个在降序排列。

例子

U年代V) =圣言(一个执行矩阵的奇异值分解一个,这样一个= U * * V '

例子

U年代V) =圣言(一个“经济学”)产生的经济规模分解——- - - - - -n矩阵一个

  • m > n-只有第一个nU计算,年代n——- - - - - -n

  • m = n- - - - - -圣言(A,“经济学”)相当于圣言(A)

  • m < n-只有第一个V计算,年代——- - - - - -

经济规模分解从奇异值的对角矩阵中去除多余的零行或列,年代,以及其中的列UV把表达式中的0乘起来一个= U * * V '.删除这些零和列可以在不影响分解准确性的情况下提高执行时间并减少存储需求。

例子

U年代V) =圣言(一个, 0)产生不同的经济规模分解——- - - - - -n矩阵一个

  • m > n- - - - - -圣言(0)相当于圣言(A,“经济学”)

  • m < = n- - - - - -圣言(0)相当于圣言(A)

例子

全部折叠

计算满秩矩阵的奇异值。

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

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

A = [1 2;3 4;5 6;7 8]
一个=4×21 2 3 4 5 6 7 8
[U, V] =圣言(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
V =2×2-0.6414 0.7672 0.7672 -0.6414

确定的关系一个= U * * V ',在机器精度范围内。

U * * 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]
一个=4×21 2 3 4 5 6 7 8
[U, V] =圣言(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
V =2×2-0.6414 0.7672 0.7672 -0.6414
(U, V) =圣言(,“经济学”
U =4×20.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的矩阵,圣言(A,“经济学”)返回更少的列U行数更少年代与完全分解相比。里面多了几行0年代是否排除,以及U它会和表达式中的0相乘一个= U * * V '

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

A = [2 0 2;0 1 0;0 0 0)
一个=3×32 0 2 0 1 0 0 0
[U, V] =圣言(A)
U =3×31 0 0 0 1 0 0 0 1
S =3×32.8284 000 1.0000 0000
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对应于奇异值等于零。

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

的函数排名奥尔特,提供计算这些量的方便方法。

输入参数

全部折叠

输入矩阵。一个可以是正方形,也可以是长方形。

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

输出参数

全部折叠

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

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

  • 对于一个——- - - - - -n矩阵一个m > n,经济规模的分解圣言(A,“经济学”)圣言(0)只计算第一个nU.在这个例子中,列U是正交的,U是一个——- - - - - -n矩阵满足 U H U n

  • 完全分解,圣言(A)返回U作为一个——- - - - - -酉矩阵满足 U U H U H U .的列U对应于非零奇异值形成的一组标准正交基向量的范围一个

不同的机器和发布的MATLAB®可以产生不同的奇异向量,它们在数值上仍然是准确的。对应的列UV可以翻转他们的符号,因为这并不影响表达式的值一个= U * * V '

奇异值,以对角矩阵的形式返回。的对角元素年代是按递减顺序排列的非负奇异值。的大小年代如下:

  • 对于一个——- - - - - -n矩阵一个,即经济规模分解圣言(A,“经济学”)返回年代作为一个方阵的顺序min ([m, n])

  • 完全分解,圣言(A)返回年代和…大小一样一个

  • 如果m > n,然后圣言(0)返回年代作为一个方阵的顺序min ([m, n])

  • 如果m < n,然后圣言(0)返回年代和…大小一样一个

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

  • 对于一个——- - - - - -n矩阵一个m < n,经济分解圣言(A,“经济学”)只计算第一个V.在这个例子中,列V是正交的,V是一个n——- - - - - -矩阵满足 V H V

  • 完全分解,圣言(A)返回V作为一个n——- - - - - -n酉矩阵满足 V V H V H V n .的列V对应于非零奇异值构成的零空间的一组标准正交基向量一个

不同的机器和发行的MATLAB可以产生不同的奇异向量仍然是数值准确的。对应的列UV可以翻转他们的符号,因为这并不影响表达式的值一个= U * * V '

扩展功能

之前介绍过的R2006a