matlab程序的幂法,数值分析课程设计+幂法与反幂法MATLAB

7cae3d3e9ae6731a1a63ec5e6bf8cf90.gif数值分析课程设计+幂法与反幂法MATLAB

1一、问题的描述及算法设计(一)问题的描述本次课程设计我所要做的课题是对称矩阵的条件数的求解设计1、求矩阵 A 的二条件数问题 A 2102、设计内容1)采用幂法求出 A 的 .2)采用反幂法求出 A 的 .3)计算 A 的条件数 A 2* A 2A) / .(精度要求为10、设计要求1)求出A 2。2)并进行一定的理论分析。(二)算法设计1、幂法算法(1)取初始向量 u (例如取 u 1,1,1 ),置精度要求 ,置 k1. 0 0T(2)计算v m v , u v / mk1kkkk(3)若| m m || || |12m v , u v / m (1)kkkkv 表示向量 v 绝对值的最大分量。于幂法的定理按式(1)计算出 m 和 u 满足k , u )反幂法算法的理论依据及推导反幂法是用来计算绝对值最小的特征值忽然相应的特征向量的方法。是对幂法的修改,可以给出更快的收敛性。1、反幂法的迭代格式与收敛性质设 A 是非奇异矩阵,则零不是特征值,并设特征值为| || || || |121n 的特征值绝对值的大小排序,有1| || 1n|| |1对 A 实行幂法,就可得 A 的绝对值最大的特征值 1/ 和相应的特征向量,1 n即 A 的绝对值最小的特征值和相应的特征向量。由于用 A 代替 A 作幂法计算,因此该方法称为反幂法,反幂法的迭代格16式为 v A u ,m v , u v / m (2)kkk于反幂法的定理按式(2)计算出的 m 和 u 满足k , u liax)中,需要用到 A ,这给计算带来很大的不方便,因此,把( 2)式1的第一式改为求解线性方程组 A v u (3)k1但由于在反幂法中,每一步迭代都需求解线性方程组(3)式,迭代做了大量的重复计算,为了节省工作量,可事先把矩阵 A 作 解,即 A)改为u ,yk1k四、相关的数值结果(一)幂法程序的运行结果m u )反幂法程序的运行结果m u )矩阵 A 的二条件数的结果A 2* A 2)m/ m 值计算结果的分析求 n 阶方阵 A 的特征值和特征向量,是实际计算中常常碰到的问题。对于n 阶矩阵 A,若存在数 和 n 维向量 x 满足x (1)则称 为矩阵 A 的特征值,x 为相应的特征向量。由线性代数知识可知,特征值是代数方程| a a a 0 (2)n表面上看,矩阵特征值与特征向量的求解问题似乎很简单,只需求解方程(2)的根,就能得到特征值 ,再解齐次方程组( x0 (3)的解,就可得到相应的特征向量。上述方法对于 n 很小时是可以的。但当 n 稍大时,计算工作量将以惊人的速度增大,并且由于计算带有误差,方程(2)未必是精确的特征方程,自然就不必说求解方程(2)与(3)的困难了。本次实验所用的幂法和反幂法分别是求解最大特征值和最小特征值,并根据它们的结果求解二条件数。幂法和反幂法的 序很好的解决了手算时所会遇到的麻烦。通过实验我们可以看到,幂法程序可以用来计算矩阵绝对值最大的特征值及相应的特征向量。幂法的缺点是开始的时候并不知道矩阵是否有单一的主特征值。也不知道如何选择 x 以保证它关于矩阵特征向量的表达中包含一个与主0特征值相关的非零特征向量。反幂法程序可以用来计算矩阵绝对值最小的特征值及相应的特征向量,反幂法的收敛是线性的,它是对幂法的修改,可以给出更快的收敛性。8六、附件一 幂法程序/*幂法程序,函数名m,u,,A 为矩阵;精度要求;N 为最大迭代次数;m 为绝对值最大的特征值;100;n;un,1;;k0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值