matlab 幂法,数值分析试验幂法与反幂法matlab.doc

数值分析试验幂法与反幂法matlab

一、问题的描述及算法设计

(一)问题的描述

我所要做的课题是:对称矩阵的条件数的求解设计

1、求矩阵A的二条件数

问题 A=

2、设计内容:

1)采用幂法求出A的 .

2)采用反幂法求出A的.

3)计算A的条件数 ⅡAⅡ2* ⅡA-1Ⅱ2=cond2(A)=/.(精度要求为10-6)

3、设计要求

1)求出ⅡAⅡ2。

2)并进行一定的理论分析。

(二)算法设计

1、幂法算法

(1)取初始向量u(例如取u=(1,1,…1)),置精度要求,置k=1.

(2)计算

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

(3)若| m= m|

2、反幂法算法

(1)取初始向量u(例如取u=(1,1,…1)),置精度要求,置k=1.

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

(3)解线性方程组 Ly=u,Uv=y

(4)计算

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

(5)若|m=m|

二、算法的流程图

(一)幂法算法的流程图

no

yes

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

no

yes

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

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

幂法是用来确定矩阵的主特征值的一种迭代方法,也即,绝对值最大的特征值。稍微修改该方法,也可以用来确定其他特征值。幂法的一个很有用的特性是它不仅可以生成特征值,而且可以生成相应的特征向量。实际上,幂法经常用来求通过其他方法确定的特征值的特征向量。

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

设n阶矩阵A的特征值,,…,是按绝对值大小编号的,x(i=1,2,…,n)为对应的特征向量,且为单根,即

||>||≥…≥||

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

v=Au,m=max(v), u= v/ m (1)

其中max(v)表示向量v绝对值的最大分量。

2、对于幂法的定理

按式(1)计算出m和u满足

m=, u=

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

反幂法是用来计算绝对值最小的特征值忽然相应的特征向量的方法。是对幂法的修改,可以给出更快的收敛性。

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

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

||≥||≥…≥||>||

则按A的特征值绝对值的大小排序,有

||>||≥…≥||

对A实行幂法,就可得A的绝对值最大的特征值1/和相应的特征向量,即A的绝对值最小的特征值和相应的特征向量。

由于用A代替A作幂法计算,因此该方法称为反幂法,反幂法的迭代格式为 v= Au,m=max(v), u= v/ m (2)

2、对于反幂法的定理

按式(2)计算出的m和u满足:

m=, u=

在式(2)中,需要用到A,这给计算带来很大的不方便,因此,把(2)式的第一式改为求解线性方程组

A v= u (3)

但由于在反幂法中,每一步迭代都需求解线性方程组(3)式,迭代做了大量的重复计算,为了节省工作量,可事先把矩阵A作LU分解,即 A=LU

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

Ly=u,Uv=y

四、相关的数值结果

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

m = 3.4142 u = -0.7071 index = 1

1.0000

-0.7071

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

m = 0.5858 u = 0.7071 index = 1

1.0000

0.7071

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

ⅡAⅡ2* ⅡA-1Ⅱ2=cond2(A)=m/ m=3.4142/0.5858=5.828269

五、数值计算结果的分析

求n阶方阵A的特征值和特征向量,是实际计算中常常碰到的问题。对于n阶矩阵A,若存在数和n维向量x满

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值