📄 my_max_eig.m
字号:
function [V,lamda]=my_max_eig(A)
% 自编函数, 用幂法计算矩阵A的最大特征值和特征向量
% [V,lamda]=my_max_eig(A);
% A为待计算的矩阵,A必须为方阵,
% labda为得到的A的最大特征值,
% V为对应的特征向量;
% 版权所有:gogomx, 2005.5.
% Copyright (c) 2005 by gogomx.
tol=1e-8;
[m,n]=size(A);
if m~=n
error('本函数要求A必须为方阵!');
else
q(:,1)=[1 zeros(1,n-1)]';
lam(1)=q(:,1)'*A*q(:,1);
z(:,2)=A*q(:,1);
q(:,2)=z(:,2)/norm(z(:,2));
lam(2)=q(:,2)'*A*q(:,2);
k=2;
while (abs(lam(k)-lam(k-1))>=tol)
k=k+1;
z(:,k)=A*q(:,k-1);
q(:,k)=z(:,k)/norm(z(:,k));
lam(k)=q(:,k)'*A*q(:,k);
end
V=q(:,k);
lamda=lam(k);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -