【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);
u=ones(n,1);
index=0;
k=0;
m1=0;
while k<=N
v=A*u;
m=max(abs(v));
u=v/m
if abs(m-m1)<ep
index=1;
break;
end
m1=m;
k=k+1;
end
m %特征值
u/norm(u) %特征向量
[vv,ll]=eig(A); %matlab求解的特征值和特征向量
[mm,ii]=max(abs(diag(ll)));
m_matlab=mm
v_matlab=vv(:,ii) 相关推荐
wwwdownmacom 2020-09-14
wanff0 2020-07-26
cuiguanjun 2020-07-26
HongAndYi 2020-07-04
知识小屋 2020-06-24
wanff0 2020-06-14
cuiguanjun 2020-06-13
liqing 2020-06-13
algorithmlixuan 2020-06-12
faustcao 2020-06-12
GerwelsJI 2020-06-09
zyazky 2020-06-08
cuiguanjun 2020-06-05
Canethui 2020-05-31
Canethui 2020-05-30
zyazky 2020-05-29
zyazky 2020-05-19
zyazky 2020-05-17