文档库 最新最全的文档下载
当前位置:文档库 › 数学实验“矩阵主特征值及相应特征向量的乘幂法,原点平移法,Rayleigh商加速法”实验报告(内含matlab程序)

数学实验“矩阵主特征值及相应特征向量的乘幂法,原点平移法,Rayleigh商加速法”实验报告(内含matlab程序)

西京学院数学软件实验任务书

课程名称数学软件实验班级数0901 学号0912020107 姓名李亚强

实验课题矩阵主特征值及相应特征向量的乘幂法(主特征值为单根,主特征值实重根,主特征值为共轭复根,主特征值为互反的实单根),原点平移法,Rayleigh商加速法

实验目的熟悉矩阵主特征值及相应特征向量的乘幂法(主特征值为单根,主特征值实重根,主特征值为共轭复根,主特征值为互反的实单根),原点平移法,Rayleigh 商加速法

实验要求

运用Matlab/C/C++/Java/Maple/Mathematica等其中

一种语言完成

实验内容矩阵主特征值及相应特征向量的乘幂法矩阵主特征值的原点平移法

矩阵主特征值的Rayleigh商加速法

成绩教师

实验十实验报告

一、实验名称:矩阵主特征值及相应特征向量的乘幂法(主特征值为单根,主特征值实重根,主特征值为共轭复根,主特征值为互反的实单根),原点平移法,Rayleigh商加速法。

二、实验目的:熟悉矩阵主特征值及相应特征向量的乘幂法(主特征值为单根,主特征值实重根,主特征值为共轭复根,主特征值为互反的实单根),原点平移法,Rayleigh商加速法,提高matlab编程能力。

三、实验要求:运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成设计矩阵主特征值及相应特征向量的常用算法。四、实验内容:

%矩阵主特征值及相应特征向量的乘幂法

function [l,v,s]=pmethod(A,x0,eps)

if nargin==2

eps = 1.0e-6;

end

v = x0;

M = 5000;

m = 0;

l = 0;

for(k=1:M)

y = A*v;

m = max(y);

v = y/m;

if(abs(m - l)

l = m;

s = k;

return;

else

if(k==M)

disp('迭代步数太多,收敛速度太慢!'); l = m;

s = M;

else

l = m;

end

end

end

%原点平移法

function [m,u]=YDPY(A,ep,Nmax)

if nargin<3 Nmax=500;

end

if nargin<2 ep=1e-7;

end

n=length(A);

u=ones(n,1);

k=0;

m1=0;

while k<=Nmax

v=A*u;

[vmax,i]=max(abs(v));

m=v(i);

u=v/m;

if abs(m-m1)

break;

end

m1=m;

k=k+1;

end

k

%Rayleigh商加速法

function [l,v,s]=Rpmethod(A,x0,eps)

if nargin==2

eps = 1.0e-6;

end

v = x0;

M = 5000;

m = 0;

l = 0;

for(k=1:M)

y = A*v;

m = (y'*v)/(v'*v);

if(rank(m)>1)

m=(y*v')/(v*v');

end

v = y/m;

if(abs(m - l)

l = m;

s = k;

return;

else

if(k==M)

disp('迭代步数太多,收敛速度太慢!');

l = m;

s = M;

else

l = m;

end

end

end

五、实验结果:

>> A=[3 4 3;1 2 4;7 6 2];

>> x0=[1 1 1]';

>> [l,v,s]=pmethod(A,x0) l =

10.3687

v =

0.7128

0.5631

1.0000

s =

14

>> [m,u]=YDPY(A)

k =

14

m =

10.3687

u =

0.7128

0.5631

1.0000

>>[l,v,s]=Rpmethod(A,x0)

l =

10.3687 v =

0.9603

0.7586

1.3471 s =

13

相关文档
相关文档 最新文档