幂法求解矩阵的最大最小特征值及对应的特征向量

当矩阵A满足一定条件时,可用幂法计算其主特征值(按模最大)及其特征向量。矩阵A需要满足的条件为:

(1)\left | \lambda _{1} \right |\geq \left | \lambda {_{2}} \right |\geq \cdots \left | \lambda_{n} \right |\geq 0,其中\lambda _{i}为A的特征值。

(2)存在n个线性无关的特征向量,设为x_{1},\cdots ,x_{n}

1.计算过程

2.算法实现

幂法采用迭代运算得到特征值和对应特征向量,具体步骤见下,

3.实例及matlab应用

clear;clc;
A=[5.2	4.8	7.8	4.9
6	4.4	8.8	5.0
5.7	5.7	7.8	6.9
5.4	5	6.4	4.4]

x0=[1;1;1;1]
eps=1e-8
N=20  %迭代次数
[t,y]=mi(A,x0,eps,N)  % t 为所求特征值,y是对应特征向量

function [t,y]=mi (A,x0,eps,N)  
   k=1;                       
   z=0;               
   y=x0./max(abs(x0));   % 规范化初始向量
   x=A*y;             % 迭代格式
   b=max(x);           
   if abs(z-b)<eps       %  判断第一次迭代后是否满足要求
       t=max(x);
       return;
   end
   while abs(z-b)>eps && k<N
       k=k+1;
       z=b;
       y=x./max(abs(x));   
       x=A*y;
       b=max(x);     
   end
   [m,index]=max(abs(x));   
   t=x(index);             
end

 

发布了29 篇原创文章 · 获赞 0 · 访问量 1481
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览