bossloveskingkong
2013-10-27, 12:37
数值分析课程的一道作业题,求按模最大的特征值及特征向量,A=[6 -4 18;20 -6 -6;22 -22 11],初始向量x=[1,1,1]',要求误差小于10^(-6),编写了以下程序但是运行不出结果,目测进入了死循环中。由于本人初学者,能力有限,看不出问题出在哪,所以请教各位指点下,多谢啦~
A=[6 -4 18;20 -6 -6;22 -22 11];
x0=[1 1 1]';
l1=0;l0=1;
while abs(l1-l0)>(1e-6),
l0=l1;
maxxabs=abs(x0(1));
maxx=x0(1);
for i=1:1:3
if abs(x0(i))>maxxabs
maxxabs=abs(x0(i));
maxx=x0(i);
end
end
y0=x0/maxx;
x1=A*y0;
maxx1abs=abs(x1(1));
maxx1=x1(1);
for i=1:1:3
if abs(x1(i))>maxx1abs
maxx1abs=abs(x1(i));
maxx1=x1(i);
end
end
l1=maxx1;
x0=x1;
end
l1
y0
A=[6 -4 18;20 -6 -6;22 -22 11];
x0=[1 1 1]';
l1=0;l0=1;
while abs(l1-l0)>(1e-6),
l0=l1;
maxxabs=abs(x0(1));
maxx=x0(1);
for i=1:1:3
if abs(x0(i))>maxxabs
maxxabs=abs(x0(i));
maxx=x0(i);
end
end
y0=x0/maxx;
x1=A*y0;
maxx1abs=abs(x1(1));
maxx1=x1(1);
for i=1:1:3
if abs(x1(i))>maxx1abs
maxx1abs=abs(x1(i));
maxx1=x1(i);
end
end
l1=maxx1;
x0=x1;
end
l1
y0