您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 西南交大数值分析上机实习报告
数值分析上机实习报告(2015~2016学年第一学期)姓名:xxxxxxx学号:xxxxxxxxxx专业:岩土工程指导教师:徐跃良联系电话:xxxxxxxxxxx实习成绩:xxxxxxxxx2015年12月10日1目录一序言.......................................................................................................3二正文.......................................................................................................3题目3..................................................................................................3原理3..................................................................................................3结果3..................................................................................................4分析3..................................................................................................5题目4..................................................................................................6原理4..................................................................................................6结果4..................................................................................................7分析4..................................................................................................7题目5..................................................................................................7原理5..................................................................................................7结果5..................................................................................................8分析5..................................................................................................9三总结.......................................................................................................9四附录.......................................................................................................9附录1雅格比迭代法程序代码.............................................................9附录2高斯-赛德尔迭代法程序.......................................................102附录3求解题目3程序代码...............................................................11附录4SOR法程序代码.......................................................................12附录5求解题目4程序代码...............................................................13附录6Runge-Kutta4阶算法程序代码..............................................13附录7求解题目5程序代码...............................................................143一序言MATLAB的M语言,一种演算纸方式的编程语言。通过这种语言,用户可以用类似于数学公式的方式来编写算法,大大降低了编程所需的难度并节省了时间,从而让用户把主要的精力集中在算法的构思而不是编程上。为便于检验结果,本上机实习全部使用M语言编程,然后用内置函数求解进行对比。二正文题目3用雅格比法与高斯-赛德尔迭代法解下列方程组Ax=b,研究其收敛性,上机验证理论分析是否正确,比较它们的收敛速度,观察右端项对迭代收敛有无影响。(1)12621-3100142,b2,b-2003144345A(2)1210.80.8350.810.8,b2,b00.80.811-10A(3)134,b716A原理:雅格比迭代法:)bxaxaxaxa(a1x)bxaxaxa(a1x)bxaxaxa(a1xn)1k(1n1nn)1k(33n)1k(22n)1k(11nnn)k(n2)1k(nn2)1k(323)1k(12122)k(21)1k(nn1)1k(313)1k(21211)k(14Jacobi迭代也可看成简单迭代的一种,故对简单迭代的所有性质也成立。从上可知:如果矩阵A的主对角元不为零,则其Jacobi迭代是唯一的。如用矩阵形式表示:则迭代矩阵:B=I-AD1其中:g=b,D=diag(a11,…,ann)Jacobi迭代收敛的充要条件是(I-1DA)1。Gauss-Seidel迭代法()(1)(1)(1)11221331111()()(1)(1)22112332222()()()()()112233111()1()1()kkkknnkkkknnkkkkknnnnnnnnnnxaxaxaxbaxaxaxaxbaxaxaxaxaxba我们称它为方程组Ax=b的Gauss-Seidel迭代式,如写成矩阵形式为:x(k)=D-1(Lx(k)+Ux(k-1))+D-1bx(k)=(D-L)-1Ux(k-1)+(D-L)-1b其中:L=-12121(1)1210000,00nnnnnnnaaaUaaaaD=diag(a11,…,ann)Gauss-Seidel迭代法的迭代矩阵为(D-L1)U,常数项为(D-L1)b,收敛的充要条件是((D-L1)U)1结果35取()(1)10^(8)kkxx(1)bJacobi迭代次数kJacobi解xGS迭代次数kGS解xb131(-0.7273,0.8081,0.2525)T19(-0.7273,0.8081,0.2525)Tb237(36.3636,-2.0707,114.0404)T24(36.3636,-2.0707,114.0404)T(2)bJacobi迭代次数kJacobi解xGS迭代次数kGS解xb1发散无法求出55(4.2308,-0.7692,-0.7692)Tb2发散无法求出65(32.6923,7.6923,-42.3077)T(3)bJacobi迭代次数kJacobi解xGS迭代次数kGS解xb1发散无法求出发散无法求出分析3GS迭代收敛速度一般比Jacobi迭代收敛速度快,右端项对迭代是否收敛没有影响,但有时对迭代次数会产生较大的影响。题目4松弛因子对SOR法收敛速度的影响。用SOR法求解方程组Ax=b,其中41-3141-2...-2,b....141-214-3A要求程序中不存系数矩阵A,分别对不同的阶数取w=1.1,1.2,...,1.9进行迭代,记录近似解x(k)达到||x(k)-x(k-1)||10-6时所用的迭代次数k,观察松弛因子对收敛速度的影响,并观察当6w0或w2会有什么影响?原理:逐次超松弛迭代法(SOR-迭代法):选取矩阵A的下三角矩阵分量并赋予参数w,将之作为分裂矩阵M,)(1wLDwM,其中,w0,为可选择的松弛因子,又(1)公式构造一个迭代法,其迭代矩阵为AwLDwIBs1)(从而得到解bXA*的逐次超松弛迭代法。(0)(1)()k0,1,2,....kksXXBXf其中:bwLDwfwUDwwLDBs11)())1(()(由此,解bXA*的SOR-迭代法的计算公式为)(),....,(111)1()1()()1()0()0(2)0(1)0(ijnijkjijkjijiiikikiTnXaXabawXXXXXX(2)观察(2)式,可得结论:(1)当w=1时,SOR-迭代法为J-迭代法。(2)当w1时,称为超松弛迭代法,当w1时,称为低松弛迭代结果4取()(1)10^(6)kkxx时所用的迭代次数k列表如下:wn1.11.21.31.41.51.61.71.81.9-1012374811141822314266138出错出错10发散出错6912151824304367142出错出错12发散出错81113161922334267140出错出错12发散出错101215172024304568140出错出错13发散出错分析4松弛因子的选取会对迭代次数及和是否收敛产生较大影响,松弛因子w应该满足0w2,否则会出错或者出现发散的情况。题目5用Runge-Kutta4阶算法对初值问题y/=-20*y,y(0)=1按不同步长求解,用于观察稳定区间的作用,推荐两种步长h=0.1,0.2。注:此方程的精确解为:y=e-20x原理:一阶常微分方程初值问题的数值解法是近似计算中很重要的部分。00(,)()dyfxydxyxy(5.1)常微分方程初值问题的数值解法是求方程(5.1)的解在点列1(0,1,)nnnxxhn上的近似值ny,这里nh是1nx到nx的步长,一般略去下标记为h。常微分方程初值问题的数值解法一般分为两大类:(1)单步法:这类方法在计算ny时,只用到1nx、nx和ny,即前一步的值。因此,在有了初值以后就可以逐步往下计算。典型方法如龙格–库塔(
本文标题:西南交大数值分析上机实习报告
链接地址:https://www.777doc.com/doc-7367756 .html