第三章矩阵的分解(一)矩阵的特征值与特征向量(EigenvaluesandEigenVectors)=λ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;13716;3310]的特征值与特征向量。【解1】先利用函数poly()求出矩阵A的特征多项式,再用roots()函数,求出特征多项式所有的根。A=[-9-3-16;13716;3310];poly(A)%利用一个向量来储存此多项式的系数roots(poly(A))ans=--=-,第一个ans是A的特征多项式的系数,即第二个ans是A的eigenvalues:10,4,-6接着针对某个特征值,我们找出其对应之特征向量利用rref()函数,求出(A-λI)的rowreducedechelonform或是利用null()函数,求出(A-λI)nullspace的基底向量A=[-9-3-16;13716;3310];rref(A-10*eye(size(A)))null(A-10*eye(size(A)))ans=10101-1000ans=--,第一个ans是的reducedrowechelonform即令,得为10所对应的eigenvectors第二个ans是nullspace的基底向量,,当取t=-1再除以norm(x),即可得这个基底向量。依此方法,将其他的eigenvectors求出。【解2】使用matlab函数eig(),eig()有两种不同的输出形式:eig(A)只传回eigenvalues,而[V,D]=eig(A)则传回D是由eigenvalues形成的diagonalmatrix;V是由eigenvalues所对应的eigenvectors形成的matrix,满足A*V=V*D,当V是nonsingular时,则表示矩阵A可对角化。A=[11-1;201;110];eig(A)%传回eigenvalues所形成的行向量[V,D]=eig(A)%D是由eigenvalues形成的diagonalmatrix%V是由eigenvalues所对应的eigenvectors形成的matrixans=-=-----=-,V的第一行行向量,;第二行行向量,为eigenvalue-;第三行行向量,。rank(V)%检查V的行向量是否线性独立inv(V)*A*V%验证A是否对角化ans=3ans=------(V)=3,V的行向量是线性独立,得知A可对角化而且V-%观察数值的准确度inv(V)*A*Vans=------:Ann-by-;如果A有n个线性独立的eigenvectors,那么矩阵A就是可以对角化的。此外,我们也可证明当特征值不同时,其所对应的特征向量是线性独立的。从上面的例子,我们可观察到这个结论。例:求出矩阵A=[-2813-42;-1013-6;19-730]的eigenv
matlab矩阵的分解 来自淘豆网www.taodocs.com转载请标明出处.