数值分析试验幂法与反幂法matlab文档格式.docx

上传人:b****5 文档编号:18707763 上传时间:2022-12-31 格式:DOCX 页数:10 大小:18.62KB
下载 相关 举报
数值分析试验幂法与反幂法matlab文档格式.docx_第1页
第1页 / 共10页
数值分析试验幂法与反幂法matlab文档格式.docx_第2页
第2页 / 共10页
数值分析试验幂法与反幂法matlab文档格式.docx_第3页
第3页 / 共10页
数值分析试验幂法与反幂法matlab文档格式.docx_第4页
第4页 / 共10页
数值分析试验幂法与反幂法matlab文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

数值分析试验幂法与反幂法matlab文档格式.docx

《数值分析试验幂法与反幂法matlab文档格式.docx》由会员分享,可在线阅读,更多相关《数值分析试验幂法与反幂法matlab文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

数值分析试验幂法与反幂法matlab文档格式.docx

(0)(例如取u(0)=(1,1,⋯1)T),置精度要求,置k=1.

(2)计算

v

(k)=Au(k1),m

k=max(v(k)),u(k)=v(k)/m

(k)),u(k)=v(k)/m

k

(3)若|mk=mk1|<

,则停止计算(mk作为绝对值最大特征值1,u

(k)作为相

应的特征向量)否则置k=k+1,转

(2)

2、反幂法算法

(2)对A作LU分解,即A=LU

(3)解线性方程组Ly

(k=u(k1),Uv(k)=y(k)

(4)计算

m

(k),u(k)=v(k)/m

k=max(v

(5)若|m

k=mk1|<

,则停止计算(1/mk作为绝对值最小特征值n,u

(k)作为

1

相应的特征向量);

否则置k=k+1,转(3).

2

二、算法的流程图

(一)幂法算法的流程图

开始

k=0;

m1=0

v=A*u

m1=m;

k=k+1

[vmax,i]=max(abs(v

m=v(i);

u=v/m

absn(mo-m1)<

1e-6

yes

index=1;

break;

输出:

m,u,index

结束

3

(二)反幂法算法的流程图

输入A;

[m,u,index]=pow_inv(A,1e-6)

v=invA*u

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

abs(nmo-m1)<

4

三、算法的理论依据及其推导

(一)幂法算法的理论依据及推导

幂法是用来确定矩阵的主特征值的一种迭代方法,也即,绝对值最大的特征

值。

稍微修改该方法,也可以用来确定其他特征值。

幂法的一个很有用的特性是

它不仅可以生成特征值,而且可以生成相应的特征向量。

实际上,幂法经常用来

求通过其他方法确定的特征值的特征向量。

1、幂法的迭代格式与收敛性质

设n阶矩阵A的特征值1,2,⋯,n是按绝对值大小编号的,xi(i=1,2,⋯,n)

为对应i的特征向量,且1为单根,即

|

1|>

|2|≥⋯≥|n|

则计算最大特征值与特征向量的迭代格式为

k

(1)

其中max(v

(k)表示向量v

(k)绝对值的最大分量。

2、对于幂法的定理

按式

(1)计算出mk和u

(k)满足

limmk=1,

limu

(k)=

x

max(x1)

(二)反幂法算法的理论依据及推导

反幂法是用来计算绝对值最小的特征值忽然相应的特征向量的方法。

是对幂

法的修改,可以给出更快的收敛性。

1、反幂法的迭代格式与收敛性质

设A是非奇异矩阵,则零不是特征值,并设特征值为

1|≥|2|≥⋯≥|n1|>

|n|

则按A

1的特征值绝对值的大小排序,有

111

||>

||≥⋯≥||

nn11

对A

1实行幂法,就可得A1的绝对值最大的特征值1/

n和相应的特征向量,即

A的绝对值最小的特征值和相应的特征向量。

由于用A

1代替A作幂法计算,因此该方法称为反幂法,反幂法的迭代格式

5

为v

(k=A1u(k1),m

k

(2)

2、对于反幂法的定理

按式

(2)计算出的mk和u

(k)满足:

(k=n

limmk=,limu

kk

max(xn

n

在式

(2)中,需要用到A

1,这给计算带来很大的不方便,因此,把

(2)式的

第一式改为求解线性方程组

Av

(k)=u(k1)(3)

但由于在反幂法中,每一步迭代都需求解线性方程组(3)式,迭代做了大量的

重复计算,为了节省工作量,可事先把矩阵A作LU分解,即A=LU

所以线性方程组(3)改为

Ly

(k=u(k1),Uv

(k=y

(k)

四、相关的数值结果

(一)幂法程序的运行结果

m=3.4142u=-0.7071index=1

1.1

-0.7071

(二)反幂法程序的运行结果

m0=0.5858u=0.7071index=1

0.7071

(三)矩阵A的二条件数的结果

ⅡAⅡ2*ⅡA2=cond2(A)=m/m

0=3.4142/0.5858=5.828269

6

五、数值计算结果的分析

求n阶方阵A的特征值和特征向量,是实际计算中常常碰到的问题。

对于n

阶矩阵A,若存在数和n维向量x满足

Ax=x

(1)

则称为矩阵A的特征值,x为相应的特征向量。

由线性代数知识可知,特征值是代数方程

|I-A|=

n+a

n1+⋯+a

n+an=0

(2)

的根。

从表面上看,矩阵特征值与特征向量的求解问题似乎很简单,只需求解方

(2)的根,就能得到特征值,再解齐次方程组

(I-A)x=0(3)

的解,就可得到相应的特征向量。

上述方法对于n很小时是可以的。

但当n稍大时,计算工作量将以惊人的速

度增大,并且由于计算带有误差,方程

(2)未必是精确的特征方程,自然就不

必说求解方程

(2)与(3)的困难了。

本次实验所用的幂法和反幂法分别是求解

最大特征值和最小特征值,并根据它们的结果求解二条件数。

幂法和反幂法的

Matlab程序很好的解决了手算时所会遇到的麻烦。

通过实验我们可以看到,幂法程序可以用来计算矩阵绝对值最大的特征值及

相应的特征向量。

幂法的缺点是开始的时候并不知道矩阵是否有单一的主特征

也不知道如何选择x0以保证它关于矩阵特征向量的表达中包含一个与主特

征值相关的非零特征向量。

反幂法程序可以用来计算矩阵绝对值最小的特征值及

相应的特征向量,反幂法的收敛是线性的,它是对幂法的修改,可以给出更快的

收敛性。

7

六、附件

(一)幂法程序

/*幂法程序,函数名:

pow.m*/

function[m,u,index]=pow(A,ep,N)

%A为矩阵;

ep为精度要求;

N为最大迭代次数;

m为绝对值最大的特征值;

u为

对应最大特征值的特征向量。

N=100;

ep=1e-6;

n=length(A);

u=ones(n,1);

index=0;

m1=0;

whilek<

=N

v=A*u;

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

u=v/m;

ifabs(m-m1)<

ep

end

k=k+1;

输入A=[2-10;

-12-1;

0-12];

[m,u,index]=pow(A,1e-6)

(二)反幂法程序

/*反幂法程序,函数名:

pow_inv.m*/

function[m0,u,index]=pow_inv(A,ep,N)

0为绝对值最小的特征值;

u

为对应最小特征值的特征向量。

8

invA=inv(A);

v=invA*u;

0=v(i);

u=v/m0;

m1m

0;

0=1/m0;

[m

0,u,index]=pow_inv(A,1e-6)

9

七、参考文献:

(1)薛毅.数值分析与实验.北京工业大学出版社.2005

(2)杜廷松等.数值分析及实验.科学出版社,2006

(3)RichardL.Burden等.数值分析(第七版)高等教育出版社,2005

10

数理系课程设计评分表

课程名称:

项目评价

设计方案的合理性与创造性

设计与调试结果

设计说明书的质量

答辩陈述与回答问题情况

课程设计周表现情况

综合成绩

教师签名:

日期:

11

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1