A=input('输入代解矩阵:');
x=input('输入特征向量的迭代初值(列向量):');
k=0;
while 1
jk=1;
for j=2:numel(A(1,:)) % 由 numel(A(1,:))获得方阵 A 的行数(列数)
if abs(x(j))-abs(x(jk))>1e-6
jk=j;
end
end
if abs(x(jk))<1e-6
x=input('停止计算,请重新输入特征向量的迭代初值(列向量):');
continue;
end
if k>=2 && abs((x(jk)-x_jk_pre)/x(jk))<=1e-6
fprintf('按模最小特征值:%f\n 对应特征向量:\n',1/x(jk));
fprintf('%f\n',y);
break;
end
x_jk_pre=x(jk);
y=x/x_jk_pre;
x=(A^-1)*y;
k=k+1;
end