|||
function [V,d] = InvIteration(K,M,epslon)
% [V,d]=InvIteration(K,M)
% k * V=d * M * V
%输入参数
% K,M----维数相同的方阵
% epslon--计算要求的精度
% 返回值
% V----特征向量
% d----特征值
ys = diag(M);
s = 0;
while 1
s = s+1;
xs1 = Kys;
ys1 = M*xs1;
if s == 1
ros = transpose(xs1)*ys/(transpose(xs1)*ys1);
else
ros1 = transpose(xs1)*ys/(transpose(xs1)*ys1);
if abs(ros1-ros)/ros1 <= epslon
break;
else
ros = ros1;
end
end
ys = ys1 / (transpose(xs1)*ys1)^(1/2);
end
d=ros1;
V=xs1/(transpose(xs1)*ys1)^(1/2);
return
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-7-28 02:25
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社