资源描述
第10章矩阵特征值与特征向量的计算,10.1幂法及反幂法10.2Jacobi方法10.3QR方法10.4特征值与特征向量的MATLAB函数求解10.5实例解析,本章目标:计算矩阵的特征值及对应的特征向量,一、幂法,条件:A有特征根|1|2|n|0,对应n个线性无关的特征向量,|i/1|3|n|,从任意出发,,不妨假定,当k充分大时,有:,所以,可以证明,对应于1的A的特征向量为:,事实上,,类似地,对应于2的A的特征向量为:,2|1|=|2|3|n|,此时,1和2有可能是共轭复数(也可能1=2,也可能是情况11=-2);|1|3|.,不妨假设,当k充分大时,有:,Q:如何找到表示1(2)的较好的关系呢?,不难验证:间近似地成立下述线性关系,为求得1和2,可任取两组分量,并解下列方程组得p,q:,其余分量是否也满足关系式?若满足,即,1和2是方程2+p+q=0的两个根:,显然:p22n,且|2|n|。,p=(2+n)/2,思路,令B=ApI,则有|IA|=|I(B+pI)|=|(p)IB|Ap=B。而,所以求B的特征根收敛快。,p是假定的,p究竟是多少?,p的选择或凭借于经验,或通过多次试算而得.,二、反幂法,Q:Howmustwecomputeineverystep?,A:SolvealinearsystemwithAfactorized.,若知道某一特征根i的大致位置p,即对任意ji有|ip|n|0,则当n时,Ak本质上收敛于一三角矩阵R.于是R主对角线上的元素就是所求的特征值.,矩阵A的QR分解可借助于施密特正交化过程得到.记A的n个列依次为1,2,n.,10.3QR方法,单位化,A=,Q,R,(r1r2rn-1rn),将A按列向量1,2,n用正交化向量表示出来,10.4特征值与特征向量的MATLAB函数求解,MATLAB提供的eig()函数可以很方便地用来求解矩阵特征值与特征向量问题,该函数的调用格式为:V,D=eig(A)V,D=eig(A,nobalance)V,D=eig(A,B)V,D=eig(A,B,flag)其中,V是特征向量组成的矩阵(其每一列对应矩阵A的一个特征值),D是由特征值构成的对角矩阵。Nobalance表示直接求解矩阵A的特征值和特征向量,没有这个参数的时候会先对A进行相似变换,然后求矩阵A的特征值和特征向量。当表达式中含有参数B时,函数eig()计算广义特征向量矩阵V和广义特征值矩阵D,满足AV=BVD。参数flag用来指定算法计算特征值D和特征向量V,flag的值为chol表示对B使用cholesky分解算法,这里A为对称Hermitian矩阵,B为正定阵;flag的值为qz表示使用QZ算法,这里A和B为非对称或非Hermitian矩阵。另外,针对稀疏矩阵,MATLAB还提供了eigs()函数来求解矩阵的特征值和特征向量,该函数的调用格式为:V,D=eigs(A,k)其中k表示返回前k个最大的特征值,其默认值为6。其余参数的含义同于eig()函数。,
展开阅读全文