下载此文档

matlab矩阵的分解.doc


文档分类:高等教育 | 页数:约30页 举报非法文档有奖
1/30
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/30 下载此文档
文档列表 文档介绍
第三章矩阵的分解
(一) 矩阵的特征值与特征向量(Eigenvalues and EigenVectors)
1. 矩阵的特征值与特征向量
解Ax=λx 运算式中的λ及其所对应的非零的向量x , 我们称λ/ x 为矩阵A的
特征值与特征向量。
改写原式为, (A-λI) x = 0 , I 是单位矩阵, 我们令P(λ) = det(A-λI) = 0, 则 P(λ)的展开式称为矩阵 A 的特征多项式, 解出矩阵 A 的特征多项式, 就可得矩阵 A 的所有eigenvalues 。再将每一个 eigenvalue 代入原式中, 即可求出其相对应的 eigenvectors 。

例 1 : 解矩阵A = [ -9 -3 -16 ; 13 7 16; 3 3 10] 的特征值与特征向量。

【解 1】先利用函数 poly() 求出矩阵 A 的特征多项式, 再用roots()函数,
求出特征多项式所有的根。

A=[ -9 -3 -16; 13 7 16; 3 3 10 ] ;
poly(A) %利用一个向量来储存此多项式的系数
roots(poly(A))
ans =
- -
ans =


-
上面输出结果中, 第一个 ans 是 A 的特征多项式的系数,

第二个 ans 是 A 的eigenvalues : 10, 4, -6
接着针对某个特征值, 我们找出其对应之特征向量
利用 rref() 函数, 求出(A-λI) 的 row reduced echelon form或是
利用 null() 函数, 求出(A-λI) null space 的基底向量
A = [ -9 -3 -16; 13 7 16; 3 3 10 ];
rref(A - 10*eye(size(A)))
null(A - 10*eye(size(A)))
ans =
1 0 1
0 1 -1
0 0 0
ans =

-
-
上面输出结果中, 第一个 ans 是的 reduced row echelon
form
即令,

得为 10所对应的eigenvectors
第二个 ans 是 null space 的基底向量, 这个基底向量
的长度为1. 上述的解x, 当取 t=-1再除以norm(x), 即可得这个
基底向量。
依此方法, 将其他的 eigenvectors 求出。
【解 2】使用 matlab 函数 eig(), eig() 有两种不同的输出形式:
eig(A) 只传回eigenvalues, 而[V,D] = eig(A) 则传回D是由
eigenvalues形成的diagonal matrix; V是由eigenvalues所对应的
eigenvectors形成的matrix , 满足A*V=V*D , 当 V是nonsingular
时, 则表示矩阵A可对角化。
A = [ 1 1 -1; 2 0 1; 1 1 0] ;
eig(A) % 传回eigenvalues所形成的行向量
[V, D] = eig(A) % D是由eigenvalues形成的diagonal matrix
% V是由eigenvalues所对应的eigenvectors形成的matrix
ans =

-

V =
- -
-
- -
D =
0 0
0 - 0
0 0
在上面的输出结果中, V的第一行行向量, 为eigenvalue
所对应的eigenvector ; 第二行行向量, 为eigenvalue -
对应的eigenvector ; 第三行行向量, 即为eigenvalue
对应的eigenvector。
rank(V) %检查V的行向量是否线性独立
inv(V)*A*V %验证A是否对角化
ans =
3
ans =
- -
- -
- -
从 rank(V)

matlab矩阵的分解 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数30
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxj16588
  • 文件大小0 KB
  • 时间2015-09-29