您的位置:首页 > 编程语言 > MATLAB

matlab矩阵及其基本运算—特征值分解和奇异值分解

2012-08-25 20:59 429 查看
特征值分解

函数 eig

格式 d = eig(A) %求矩阵A的特征值d,以向量形式存放d。

d = eig(A,B) %A、B为方阵,求广义特征值d,以向量形式存放d。

[V,D] = eig(A) %计算A的特征值对角阵D和特征向量V,使***=VD成立。

[V,D] = eig(A,'nobalance') %当矩阵A中有与截断误差数量级相差不远的值时,该指令可能更精确。'nobalance'起误差调节作用。

[V,D] = eig(A,B) %计算广义特征值向量阵V和广义特征值阵D,满足***=BVD。

[V,D] = eig(A,B,flag) % 由flag指定算法计算特征值D和特征向量V,flag的可能值为:'chol' 表示对B使用Cholesky分解算法,这里A为对称Hermitian矩阵,B为正定阵。'qz' 表示使用QZ算法,这里A、B为非对称或非Hermitian矩阵。

说明 一般特征值问题是求解方程: 解的问题。广义特征值问题是求方程: 解的问题。

奇异值分解

函数 svd

格式 s = svd (X) %返回矩阵X的奇异值向量

[U,S,V] = svd (X) %返回一个与X同大小的对角矩阵S,两个酉矩阵U和V,且满足= U*S*V'。若A为m×n阵,则U为m×m阵,V为n×n阵。奇异值在S的对角线上,非负且按降序排列。

[U,S,V] = svd (X,0) %得到一个“有效大小”的分解,只计算出矩阵U的前n列,矩阵S的大小为n×n。

例1-73

>> A=[1 2;3 4;5 6;7 8];

>> [U,S,V]=svd(A)

U =

-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 =

14.2691 0

0 0.6268

0 0

0 0

V =

-0.6414 0.7672

-0.7672 -0.6414

>> [U,S,V]=svd(A,0)

U =

-0.1525 -0.8226

-0.3499 -0.4214

-0.5474 -0.0201

-0.7448 0.3812

S =

14.2691 0

0 0.6268

V =

-0.6414 0.7672

-0.7672 -0.6414
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: