资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
迭代法求两点边值问题(一)摘要当今的环境下,数值计算越来越依赖于计算机。大规模科学计算和工程技术中许多问题的解决,最终归结为大型稀疏线性方程组的求解,其求解时间在整个问题求解时间中占有很大的比重,有的甚至达到80%。由于现今科学研究和大型项目中各种复杂的可以对计算精度和计算速度的要求越来越高。因此,作为大规模科学计算基础的线性代数方程组的高效数值求解引起了人们的普遍关注。这种方程组的求解一般采用迭代法。这次我做的迭代法求两点边值问题就是通过MATLAB 来实现的。关于迭代法,是有很多种解决公式的:Jacobi , G-用口超松弛迭代法。这三种方法的原理大致相同,jacobi需要给定初向量,G-S则需要给定初值,超松弛法是对Guass-Seidel 迭代法的加权平均改造。 而本文则是对大型稀疏线性方程组迭代求解与三种迭代法(Jacobi, Gauss-Seidel超松弛迭代法)的收敛速度与精确解的误差比较做出 研究。关键词 :数值计算迭代法 三种公式ITERATION METHOD FOR TWO-POINT BOUNDARYVALUE PROBLEMSABSTRACTTodays environment, numerical computation is more and more dependent on the computer. Many problems in the large-scale scientific computing and engineering solution, ultimately comes down to solving large sparse system of linear equations, the solution time occupies a large proportion in the whole problem solving time, some even reached 80%. Due to the current scientific research and large projects in various complex can claim to the computing precision and computing speed is higher and higher. Therefore, the linear algebraic equations, which is the basis for large-scale scientific computing efficient numerical solution has attracted widespread attention. To solve the general iterative method is used to this kind of equations. This time I do the iteration method of two-point boundary value problem is accomplished by MATLAB.About the iteration method, there are many kinds of solution formula is: Jacobi, G - S and over relaxation iteration method. The principles of these three methods are roughly the same,Jacobi need at the beginning of a given vector, G - S requires the given initial value, a super relaxation method is weighted average of the transformation of Gauss- Seidel iterative method. And this article is for iteration solving large sparse linear equations with three kinds of iterative method (Jacobi, Gauss - Seidel and over relaxation iteration method) the error between the convergence speed and the exact solution of comparative research.Key words: numerical calculation iterative method three kinds of formula1课程目的与要求1、1课程目标 11、2课程的实现环境 12概要设计 23详细设计 54测试结果与心得体会 85参考文献 15附录 16源程序代码 161 课程的目的与要求1 、 1 课程目标利用我们所学的数值分析的迭代法知识对线性方程组的问题进行求解, 同时把迭代法的求解过程用 MATLAB 程序语言实现其算法功能。对实验结果进行记录,对比与分析最后得出结论。1 、 2 课程的实现环境硬件要求能运行Windows 9.X 操作系统的微机系统、 Matlab 软件。2、1迭代法简介I.Jacobi迭代法:2概要设计对于非奇异线性方程组 Ax=b,令A=D-L-U,其中则原方程组可改写为:(2.2)其中鼎二0一】 += D%给定初始向量:由(2.2)可以构造迭代公式:几二万/。-1+8,其分量形式为:2 . Guass-Seidel 迭代法:类似于Jacobi迭代法,给定初值:工r(0) ,叫工则得到Guass-Seidel公式:其分量形式为:3 .超松弛迭代法(SOR迭代法):SOR4代法是对Guass-Seidel迭代法的加权平均改造,即 .产=(1 一 田)产 + S-?一出X 为Guass-Seidel迭代解,即xil)=(l-+。-1如1 + D%,它的分量形式为:1 I(1) 、(卜1)1,十 (k) 十 府 j .七 三(1一。)七十一工%七 十工与勺 +也):ra j=L其中称为松弛因子,当1时称为超松弛;当(0)* s b(n -1) = ah2 3 .迭代终止条件首先确定要求的精度tol ,我们希望当则停止迭代。对于迭代格式“&I +贵,若习二守|且,=1,则迭代序列& j的第k次近似解和精确解之间有估计式由题目要求知我们需要有 4一羽卜107 ,而由上面的迭代估计,只要工 | /一1维上 io4 III一 . IK io-4-*-,即q 即可。而本题中q可近似取为,因此最后令迭代终止条件为二1 一%4.SOR迭代中最佳松弛因子的选取由于SOR迭代法的效果和其松弛因子 w的选取有关,所以有必要选取合适的松弛因子。当选择最佳松弛因子啊7 TT1 +-.时,SOR方法的迭代速度最快。Matlab 实现:迭代矩阵是n-1阶的,不是n阶;等号右端向量b的最后一项,不是ahA2,而是ahA2-eps-h精确解:yL0t(1 e) ax1 e带入 a=1/2, =1代码: clear x=linspace(0,1);truy=(1-0.5)/(1-exp(-1/1)*(1-exp(-x./1)+x.*0.5;figure;plot(x,truy,g,LineWidth,1.5);hold on;Gridffl:4测试结果与心得体会4、1程序运行情况Jacobi法:代码见附录Eps=1结果:迭代次数k: 22273结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)Eps=0.1结果:迭代次数k: 8753结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)Eps=0.01结果:迭代次数k: 661结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)9100G-S迭代法:代码见附录Eps=1结果:迭代次数k: 11125结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)0. 895。Figure 1|).孑口口。rf cEdit View niert T-mIj Desktop Window HelpG. 9130k0. 99500. S25O0. 03000. 9400九 05 DO03甘川D.兜50k E7000.750k糊。0. 000匚ULMt FFiiIf Fdk Vfptv Insist 丁口日,口 kK 口 p Window Mlp1(2030 4D 0607080 班 1000.9SSHl (iguire 1金 | 卜 W E。g / -1 0 | 口 圜 I 口1J3Eps=0.1结果:迭代次数k: 4394结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)Co mm 浏 HMei* tdk
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号