【matlab】 幂法 求解最大特征值

一. 算法:

1.输入矩阵A,初始向量x误差限ep,最大迭代次数N

2.置 k = 1, m1 = 0;

3.求Xr-> norm(x)   abs(Xr)=max[Xi] 1<=i<=n

4.计算    y = x/norm(u)

5. 若m1-m 小于误差限 输出结果,停止 否则 to6

6.若k<N k++ norm(x) = m1

二.程序:

A = [-6.9,14,0;
     -5,10.1,0;
     -1,0,-0.1];
N=100;
ep=1e-4;
n=length(A);
y=ones(n,1);
k=0;
m1=0;
while k<=N
   x=A*y;
   m=max(abs(x));
   y=x/m
   if abs(m-m1)<ep
        break;
   end          
   m1=m;
   k=k+1;
end

final_answer_u = m;
final_answer_x = x;

 

posted @ 2018-05-04 10:00  金舰  阅读(4828)  评论(0编辑  收藏  举报