1. 理论解释
则x为A的特征向量,λ为特征值。
特征向量具有非相关性,因此可以作为一组基。即对任意的向量b,可以表示为
对于半正定矩阵,假设特征值
对b左乘矩阵A可得,
进行K次左乘A
因此,
Note:求解最大特征值是取模值,因此需要其≥0,因此本方法适用于半正定矩阵,而矩阵A对与特征向量共线的向量都会缩放λ倍,因此用本方法求解的归一化特征向量与用特征分解求解的特征向量方向相同或者相反(即x或-x)。
2. matlab仿真
% matlab仿真
A=magic(8); % 生成8×8的magic矩阵
b=[1 2 3 4 5 6 7 8];
[V,D]=eig(A);% 特征分解
num=20; %
temp=0;
for iIter=1:num % 循环20次
temp=A*b';
temp=temp/norm(temp);
end
temp=A*temp; % A*b=lambda*b,b=temp是归一化特征向量 lambda为最大特征值
D0=norm(temp)
DD=D(1,1) % eig求解的归一化特征值
V0=temp/norm(temp) % b=temp是归一化特征向量
VV=V(:,1) % eig求解的最大特征向量
3. 结果对比(D0 V0为本方法计算结果,DD VV为特征分解结果)