§3.7.3奇异值分解
在Matlab中三重赋值语句
[U,S,V]=svd(A)
在奇异值分解中产生三个因数:
A=U*S*V '
U矩阵和V矩阵是正交矩阵,S矩阵是对角矩阵,svd(A)函数恰好返回S的对角元素,而且就是A的奇异值(其定义为:矩阵A'*A的特征值的算术平方根).注意到A矩阵可以不是方的矩阵.
奇异值分解可被其它几种函数使用,包括广义逆矩阵pinv(A)、秩rank(A)、欧几里德矩阵范数norm(A,2)和条件数cond(A). §3.7.4 特征值分解
如果A是n×n矩阵,若?满足Ax=?x,则称?为A的特征值,x为相应的特征向量.
函数eig(A)返回特征值列向量,如果A是实对称的,特征值为实数.特征值也可能为复数,例如: A=[ 0 1
-1 0] eig(A) 产生结果 ans =
0 + 1.0000i 0 - 1.0000i
如果还要求求出特征向量,则可以用eig(A)函数的第二个返回值得到:
[x,D]=eig(A)
D的对角元素是特征值.x的列是相应的特征向量,以使A*x=x*D. 计算特征值的中间结果有两种形式:
Hessenberg形式为hess(A),Schur形式为schur(A).
schur形式用来计算矩阵的超越函数,诸如sqrtm(A)和logm(A).
如果A和B是方阵,函数eig(A,B)返回一个包含一般特征值的向量来解方程
Ax=?Bx
双赋值获得特征向量
[X,D]=eig(A,B)
产生特征值为对角矩阵D.满秩矩阵X的列相应于特征向量,使A*X=B*X*D,中间结果由qz(A,B)提供. §3.7.5秩
Matlab计算矩阵A的秩的函数为rank(A),与秩的计算相关的函数还有:rref(A)、orth(A)、null(A)和广义逆矩阵pinv(A)等.
利用rref(A),A的秩为非0行的个数.rref方法是几个定秩算法中最快的一个,但结果上并不可靠和完善.pinv(A)是基于奇异值的算法.该算法消耗时间多,但比较可靠.其它函数的详细用法可利用Help求助.
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库矩阵的基本运算(3)在线全文阅读。
相关推荐: