⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eig_mifa.m

📁 用幂法求矩阵的特征值
💻 M
字号:
function eig_mifa()
% 规范化幂法求矩阵特征值
% test:n=3   A=[7 3 -2;3 4 -1;-2 -1 3]   v0=[1;1;1]   e=1e-3
n=input('请输入矩阵的阶数:');
A=zeros(n,n);
A=input('请输入矩阵:');
v0=zeros(n,1);
v1=zeros(n,1);
v0=input('请输入初始向量:');
miu0=max(v0);
e=input('请输入精度:e=');
miu1=0;
temp=0;
count=0;
tic;
format long;
while abs(miu1-miu0)>e & count<100
    count=count+1;
    v1=A*v0;
    miu1=max(v1);
    disp(['第',num2str(count),'次迭代的结果是(未规范化的):']);
    disp(['v',num2str(count),'=',mat2str(v1)]);
    disp(['miu',num2str(count),'=',num2str(miu1)]);
    v1=v1/miu1;
    disp(['规范化的结果是:',mat2str(v1)]);
    temp=miu0;
    miu0=miu1;
    miu1=temp;
    v0=v1;
end;
disp(['经过',num2str(count),'次迭代的结果是:']);
disp('特征值是:');
disp(['miu=',sprintf('%.20f',miu0)]);
disp(['误差为:|miu1-miu0|=',sprintf('%.20f',abs(miu1-miu0))]);
disp(['特征向量是:v=',mat2str(v1)]);
format;
toc

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -