椭圆问题五点格式迭代法与快速Poisson算法比较_第1页
椭圆问题五点格式迭代法与快速Poisson算法比较_第2页
椭圆问题五点格式迭代法与快速Poisson算法比较_第3页
椭圆问题五点格式迭代法与快速Poisson算法比较_第4页
椭圆问题五点格式迭代法与快速Poisson算法比较_第5页
免费预览已结束,剩余31页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、苏州大学本科生毕业设计(论文)目录摘要1ABSTRACT2第1章 绪论3 第1.1节 背景介绍、动机和任务3 第1.2节 关于MATLAB4第2章 椭圆方程的五点差分格式5 第2.1节 椭圆方程的介绍5 第2.2节 差分格式的建立6 第2.3节 差分格式解的存在性8 第2.4节差分格式的求解9第3章 GAUSS-SEIDEL求解及快速POISSON算法的求解11 第3.1节 迭代法的基本概念11 第3.2节 Gauss-Seidel迭代法11 第3.2节 快速Poisson算法13第4章 数值试验17第5章 总结23参考文献24致谢251摘要本文主要讨论在椭圆方程五点格式的问题中,分别使用Ga

2、uss-Seidel迭代法与快速Poisson算法对其求解,并对二者求解该线性方程组的速度进行比较。我们都知道,在系数矩阵是稀疏的大型线性方程组中,迭代法是一个很好的求解该问题的算法,主要是因为给定一个初始向量,通过一定的迭代公式,我们就可以求得之后任意一次迭代的结果,且运算简便,但是,对于迭代法所求得的近似解是否收敛于精确解,并且,在线性方程组有快速算法的情况下,迭代法是否还能在求解方程组中占优势,还得我们进一步比较。本文主要是通过比较不同的、不同的步长以及不同的误差要求,来判断Gauss-Seidel迭代法与快速Poisson算法的优劣。关键词椭圆方程五点格式、Gauss-Seidel迭代

3、法、快速Poisson算法2AbstractIn this paper , we mainly discusses the solution of the five-point scheme for the elliptic equation by using Gauss-Seidel iteration method and fast Poisson algorithm, and compare the speed of solving the linear equation group. We all know that in the large scale linear equation

4、s with sparse coefficients, the iterative method is a very good algorithm to solve the problem, mainly because given an initial vector, we can obtain the result of any one iteration after a certain iterative formula, and the calculation is simple. However , if the approximate solution obtained by th

5、e iterative method converges to the exact solution, and if there is a fast algorithm in the linear equation group, whether the iterative method can still prevail in solving the equation group, we have to compare it further. This paper is mainly to judge the pros and cons of Gauss-seidel iterative me

6、thod and fast Poisson algorithm by comparing different, different step sizes and different error requirements.Keywordsfive-point scheme for elliptic equation, Gauss-Seidel iterative method, fast Poisson algorithm第1章 绪论第1.1节 背景介绍、动机和任务本文从椭圆方程五点格式问题出发,对其分别使用Gauss-Seidel迭代法和快速Poisson算法进行求解,并将迭代法与快速算法的速

7、度进行比较,从而深入探究迭代法是否更方便,进而为我们以后的解题拓展新的思路(使用迭代法)。但是,在所查看的文献中,发现在关于此问题上,较少有文献提及了Gauss-Seidel迭代法或者是快速Poisson算法,更别提是对其进行比较了,而比较Gauss-Seidel迭代法和快速Poisson算法对于求解大型线性方程组的快慢,了解迭代法的优势与不足,可以为我们今后考虑问题提供一个指路灯。由于此问题一方面涉及偏微分方程,而另一方面又涉及数值计算,大多数文献都只是考虑了一半的内容,因此,探究该问题就显得特别地重要,主要是因为当所需求解的线性方程组的系数矩阵是大型的稀疏矩阵时,迭代法是求其解的一个非常重

8、要的方法。因而,探讨迭代法对于我们今后解决问题有着切实可行的意义。而,用迭代法与快速算法进行比较,了解迭代法的特点,也为我们改进迭代法作了铺垫。我们可以从很多文献中看到,大多数文献在关于椭圆方程五点格式的问题上,主要都是从概念的意义上去理解,很难求得精确解,至少手工很难,故关于此问题,教给学生的也只是定理上的证明,而没有直观的数据显示。而有关Gauss-Seidel迭代法的文献,也很少见到有文献探讨椭圆方程五点格式问题的,因而讨论椭圆方程五点格式的Gauss-Seidel迭代法和快速Poisson算法的比较,就显得尤为重要。一方面,数值解比概念上的描述显得更为直观、有效,更具有说服力;另一方面

9、,椭圆问题的实现,为我们今后探讨其他偏微分方程问题,提供了一个借鉴,即使是大型的线性矩阵,我们也能从数值解上判断优异,更有利于我们解决一些实际的问题。我们从椭圆方程五点格式入手,主要通过使用Gauss-Seidel迭代法以及使用快速Poisson算法计算不同条件下的误差,其中主要用到的工具是MATLAB。通过修改不同的步长M2、M1,不同的系数以及不同的误差精度,来探究Gauss-Seidel迭代法与快速Poisson算法的优劣。第1.2节 关于MATLAB目前,在数学计算中,我们通常使用MATLAB,它与Mathematica以及Maple并称为三大重要的数学软件。在数值计算方面三者的功能都

10、是首屈一指的,值得我们好好的学习与研究。矩阵是MATLAB的基本数据单位,故矩阵计算成了MATLAB的一个主要的功能,主要是以矩阵计算为基础进行的工程计算。矩阵的指令表达式与我们日常所学的数学、工程中常用的形式十分类似,首先,它将数值计算、可视化和编程等功能集中在一起,即集中在便于我们读者使用的这样一个环境中,并且,在此环境中我们还可以使用它的绘图功能和许多个工具箱(Toolbox),其目的是为了协助我们解决一定的科学和工程计算的问题,因此,MATLAB是一个能够有效的进行科学研究的数学软件,同时具有很强的计算能力,很高的编程效率等特点。除此之外,我们还可以利用MATLAB绘制一些函数、显示一

11、些数据以及实现各种各样的算法等。而且,经过科学家们的研究,MATLAB也吸收了一些像Maple等软件的优点,使得我们在使用MATLAB解决问题时要比使用其他语言解决问题简单便捷得多。故,MATLAB现在已经成为了国际上认可度很高的高性能科学和工程计算软件之一,又因为它具有使用简单且便于扩充的功能,是我们一个很好的学习数学并进行编程计算的助手,我们今后的编程和数值计算的学习中都将离不了它。 第2章 椭圆方程的五点差分格式第2.1节 椭圆方程的介绍说起椭圆型偏微分方程,很多人首先想到的都是在大学数学课程中学到的一类问题:公式特别地复杂,运算特别地麻烦,证明过程特别地冗长我们往往是只知其然,不知其所

12、以然,这是因为椭圆型方程边值问题的精确解是不易求得的,通常情况下我们只需要了解如何证明就可以了,而且,有些特殊问题即使求得了它的解析解,但计算往往也很复杂。因此,我们必须善于寻求近似解来求解这类问题。目前看来,比较具有代表性的椭圆型方程当属二维Poisson方程-2ux2+2uy2=fx,y,x,y,和Laplace方程-2ux2+2uy2=0,x,y,其中,为R2中的一个有界区域。定解条件通常有如下三类:(1) 第1类边值条件(Dirichlet边界条件)u|=x,y,(2) 第2类边值条件(Neumann边界条件)u|=1x,y,(3) 第3类边值条件(Robin边界条件)un+x,yu|

13、=x,y,其中为的边界,n为的单位外法向,x,y|0。我们将第2类边值条件和第3类边值条件统称为导数边界值条件。我们以二维Poisson方程的定解问题为例研究其有限差分解法,涉及如下三个问题:(1)如何选取网格,将微分方程离散化为差分方程组;(2)差分方程组的解是否存在并且是否具有唯一性以及如何求解相应的差分方程组;(3)当网格横轴和纵轴的步长无限制地趋于0时,我们求得的差分方程组的近似解是否能够收敛于微分方程组的精确解。本文中,我们考虑的是二维Poisson方程在Dirichlet边值条件下的问题 u-u=fx,y,x,y, (2.1.1) u=x,y,x,y, (2.1.2)其中,u=2u

14、x2+2uy2。为简单起见,只考虑为正方形区域x,y|0x2,0y2.第2.2节 差分格式的建立首先,我们把横轴上的区间0,2进行M2等分,记h2=2/M2为x方向的步长,且有xi=0+ih2,0iM2,然后,我们把纵轴上的区间0,2进行M1等分,记h1=2/M1为y方向的步长,且有yj=0+jh1,0jM1。接着,我们用两簇等距的平行线x=xi, 0iM2,y=yj,0jM1,将区域划分成M2M1个小矩形,记两簇直线的交点为结点(xi,yj),如图(2.1)所示。 图2.1 矩形网格部分记h(xi,yj)|0iM2,0jM1为属于的结点,其中,h(xi,yj)|1iM2-1,1jM1-1 被

15、称为h的内结点,而称位于上的结点为边界结点,且有h=hh显然,我们有h=hh。为方便来看,记=(i,j)|( xi,yj) h,=(i,j)|( xi,yj) h记Sh=v|v=vij|0iM2,0jM1为h上的网格函数设v=vij|0iM2,0jM1Sh,引进如下记号: Dxvij=1M2(vi+1,j-vij), Dxvij=1M2(vi,j-vi-1,j), Dyvij=1M1(vi,j+1-vij), Dyvij=1M1(vi,j-vi,j-1),x2vij=1M2(Dxvij- Dxvij), y2=1M1(Dyvij-Dyvij)v=max|vij|,称v为v的无穷范数。在结点处考

16、虑边值问题u-u=fx,y,(x,y) u=x,y,(x,y),则有 uxi,yj-2ux2xi,yj+2uy2xi,yj=fxi,yj,(i,j), (2.2.1) uxi,yj=xi,yj,i,j, (2.2.2)定义h上的网格函数 U=Uij|0iM2,0jM1,其中 Uij= uxi,yj,0iM2,0jM1,引理2.1:如果g(x)C4c-h,c+h,则有gc=1h2gc+h-2gc+g(c-h)-h212g44,c-h4c+h,由引理(2.1),有2ux2xi,yj=1h22uxi-1,yj-2uxi,yj+uxi+1,yj-h22124uij,yjx4 =x2Uij-h22124

17、uij,yjx4,xi-1ijxi+1,2uy2xi,yj=1h12uxi,yj-1-2uxi,yj+uxi,yj+1-h12124uxi,ijy4 =y2Uij-h12124uxi,ijy4,yi-1ij0。则由(2.2.11)知,存在(i0,j0)使得ui0,j0=M,且ui0-1,j0,ui0+1,j0,ui0,j0-1,ui0,j0+1中至少有一个小于M。考虑(2.2.10)中i,j=i0,j0的等式,有+2h22+2h12ui0,j0=1h22ui0-1,j0+ui0+1,j0+1h12ui0,j0-1+ui0,j0+1将上式两边取绝对值,可得+2h22+2h12M1h22ui0-1

18、,j0+ui0+1,j0+1h12ui0,j0-1+ui0,j0+10,所以上式与假设M0矛盾。故M=0。因而差分格式(2.2.6)-(2.2.7)是唯一可解的。第2.4节差分格式的求解差分格式(2.2.6),(2.2.7)是以uij|1iM2-1,1jM1-1为未知量的线性方程组。(2.2.6)可以改写为1h22ui-1,j-1h12ui,j-1+2(1h22+1h12)ui,j-1h22ui+1,j-1h12ui,j+1=fxi,yj, 1iM2-1,1jM2-1, (2.2.12)记uj=u1ju2juM2-1,j,0jM1利用(2.2.7)可将(2.2.12)写为Duj-1+Cuj+D

19、uj+1=fj,1jM1-1, (2.2.13)其中C=+2(1h22+1h12)1h22 1h22+2(1h22+1h12)1h22 1h22+2(1h22+1h12)1h22 1h22+2(1h22+1h12) D=-1h12 -1h12 -1h12 -1h12,fj=fx1,yj+1h22(x0,yj)fx2,yj fxm-2,yjfxm-1,yj+1h22(xm-2,yj) ,(2.2.3)进一步可以写为 (2.2.14)由式(2.2.14)我们可以看出,它是一个大型的线性方程组,且系数矩阵是一个三对角矩阵,并且矩阵的每一行至多有5个非零元素。在数学上,我们称这种系数矩阵为大型的稀疏矩

20、阵,因为该类矩阵中大部分的元素都是0。一般情况下,我们会使用Jacobi迭代法、Gauss-Seidel迭代法或者超松弛迭代法对其求解。显然,我们可以运用已学的知识证明(2.2.14)的系数矩阵是对称正定的。第三章 Gauss-Seidel求解及快速Poisson算法的求解第3.1节 迭代法的基本概念设有线性方程组Ax=b,其中,A=aijRnn为非奇异矩阵,接下来,我们研究如何建立解Ax=b的迭代法。首先,将A分裂为A=M-N, (3.1.1)其中,M为一个非奇异矩阵,并且M是可以自由选择的,目的主要是使得Mx=d容易求其数值解,在一般的情况下,我们偏向于选择M为A的某种近似,并且称M为分裂

21、矩阵。于是,求解Ax=b转化为求解Mx=Nx+b,即,Ax=b求解x=M-1Nx+M-1b,即 x=Bx+f, (3.1.2)于是,我们可以得到构造一阶的定常迭代法:x0初始向量,x(k+1)=Bx(k)+f,k=0,1, (3.1.3)其中,B=M-1N=M-1M-A=I-M-1A,f=M-1b。称B=I-M-1A为迭代法的迭代矩阵,选取我们所需的M阵,就得到解Ax=b的各种迭代法。第3.2节 Gauss-Seidel迭代法3.2.1 Gauss-Seidel迭代法的求解首先,我们来考虑一下如下的线性方程组Ax=b, (3.2.1)其中,A=a11a12a21a22a1na2nan1an2a

22、nn, x=x1x2xn, b=b1b2bn,然后,我们把A拆分成三个部分D-L-U.我们通过选取所需的M为系数矩阵A的下三角部分,即选取M= D-L(下三角矩阵),A=M-N,就得到了使用Gauss-Seidel迭代法求解Ax=b的途径 x0,初始向量,x(k+1)=Bx(k)+f,k=0,1, (3.2.2)其中B=I-D-L-1A=D-L-1D-L-A=D-L-1UG,f=D-L-1b.称G=D-L-1U为求解Ax=b的Gauss-Seidel迭代法的迭代矩阵。下面,给出的是使用Gauss-Seidel迭代法求解方程组所得的未知向量的具体某一个分量的计算公式 x(k)=(x1k,xik,

23、xnk)T, 从式(3.2.2)我们可以得到(D-L) xk+1=Uxk+b,或Dxk+1=Lxk+1+Uxk+b,即aiixi(k+1)=bi-j=1i-1aijxjk+1-j=i+1naijxjk,i=1,2,n.于是,使用Gauss-Seidel迭代法来求解线性方程组Ax=b,具体的迭代法的计算公式如下 x(0)=(x10,xn0)T,初始向量,xi(k+1)=bi-j=1i-1aijxjk+1-j=i+1naijxjkaii,i=1,2,n;k=0,1,. (3.2.3)通过式(3.2.3)我们可以了解到,当计算所求向量x(k+1)的第i个分量xi(k+1)时,Gauss-Seidel

24、迭代法会利用之前已经计算出的前i-1最新分量xjk+1(j=1,2,i-1),并将其带入迭代公式中进行计算,且Gauss-Seidel迭代法每迭代一次只需要计算一次矩阵与向量的乘法。对于我们要求解的椭圆方程1h22ui-1,j-1h12ui,j-1+2(1h22+1h12)ui,j-1h22ui+1,j-1h12ui,j+1=fxi,yj, 1iM2-1,1jM2-1, (2.2.12)使用Gauss-Seidel迭代公式(3.2.3),我们就可以得到ui,jk+1=fxi,yj+1h22ui-1,jk+1+1h12ui,j-1k+1+1h22ui+1,jk+1h12ui,j+1k+21h22

25、+1h121iM2-1,1jM1-13.2.2 Gauss-Seidel迭代法的收敛性定理2:解线性方程组Ax=b的Gauss-Seidel迭代法收敛的充分条件是A正定。因为我们所求的椭圆方程中的系数矩阵A是三对角矩阵,并且A严格的对角占优,故Gauss-Seidel迭代法收敛。第3.2节 快速Poisson算法对于阶数为n的大型线性矩阵Ax=b,不同的方法,复杂度一般不相同。在直接乘法中,求解该方程组所需的复杂度为On3,而用带状法或者块三角形求解,复杂度就变成了On2。通俗意义上讲,若m=103(m=n),则直接乘法所需的计算时间以年为单位,而带状求法或块三对角求法的计算时间以小时为单位,

26、可以看出,不同的复杂度对时间的需求差别很大!从而启发我们使用一个简便的算法对于我们求解问题则显得非常重要。接下来,我们来介绍一个新的更加准确且便捷的快速算法,该算法被称为快速Poisson算法。这个算法有几个特点:1、T是对角化的矩阵2、 使用快速正弦变换3、 仅限制于矩形区域4、 可以扩展到9点方案及双调和问题中5、 可以扩展到三维中引理(3.2.1):若A为三对角矩阵,即:,则A的特征值j=b+2accosjn+1,特征向量xj=ac12sinjn+1ac22sin2jn+1ac32sin3jn+1acn2sinnjn+1n1,考虑Dirichlet边值问题的标准中心差分格式u-u=fx,

27、y,(x,y), (3.2.1)记=0,10,1,h=1(M+1)是等距网格步长,记=1h2,则数值格式等价于ui-1,j+ui+1,j+12-2uij+ui,j-1+ui,j+1+12-2uij=fx,y,为书写简单,记=2h2,则格式等价于2ui-1,j+ui+1,j+12-uij+2ui,j-1+ui,j+1+12-uij=fx,y,即:ui-1,j+ui+1,j+-2uij+ui,j-1+ui,j+1+-2uij=2fx,y,(3.2.2)记u=u1ju2junj,f=2f1j2f2j2fnj,j=1,2,n 则式(3.2.2)的矩阵形式可写为TU+UT=F, (3.2.3)由引理(3

28、.2.1)可知Tsj=Ejsj,j=1,2,n其中,Ej=-2+2cosjn+1,sj=sinjn+1,sin2jn+1,sinnjn+1T,记S=s1,s2,sn, E=E1E2En,S=ST,TS=SE,S*S=12hI=n+12I,注:S=ST,但是SEES,SE=(ES)T.由T=TT,则ST=STTT=(TS)T=(SE)T=ETST=ES,因而由(3.2.3)可得等式左右两边同时乘上SSTUS+SUTS=SFS因为ST=ES,TS=SE,故有ESUS+SUSE=SFS令V=SUS,从而有EV+VE=SFS=F因为E是对角阵,因而V可解 Vij=Fij(Ei+Ej)进而,我们对V=S

29、US,等式两边同时乘上S,则有S2US2=SVS因为S*S=12hI,故而有14h2U=SVS即U=4h2*SVS此时,U即为椭圆方程标准中心差分格式的所求解。具体的算法(一个简单的快速Poisson算法)如下:1、 h=1m+1;F=fjh,khj,k=1m;S=sinjkhj,k=1m;=sin2jh2j=1m;2、 G=gj,k=SFS;3、 U=uj,kj,k=1m;where uj,k=h4gj,kj+k;4、 V=SUS输出是在复杂度为On32运算中计算的平方上的离散泊松方程的精确解,而且存储只需要几个mm的矩阵。第4章 数值试验现在,我们研究椭圆方程问题u-u=fx,y,运用五点

30、差分格式对其求解,即1h22ui-1,j-1h12ui,j-1+2(1h22+1h12)ui,j-1h22ui+1,j-1h12ui,j+1=fxi,yj,u0,0=0, 1iM2-1,1jM2-1, 且该方程的精确解为sinxsiny。即探究椭圆方程 u-2ux2+2uy2=(+22)sinxsiny,0x1,0y1, u0,0=0,对上述椭圆方程五点格式使用我们上面介绍的Gauss-Seidel迭代法,我们可以得到如下的误差图(其中图2中的圈表明的是等高线): 数值算例1当=1,M2,M1为变量时对于Gauss-Seidel迭代法,计算时间以及精确解与数值解的误差如表(4.1.1)所示:M

31、2M1迭代步数K计算时间精确解与数值解之差120202920.0183110.007150509920.2054470.001210010029272.0671903.1918e-04200200938825.4293176.4363e-0530030024483174.6083713.3215e-05对于快速Poisson算法,计算时间与误差如表(4.1.2)所示:M2M1计算时间精确解与数值解之差120200.0003980.007150500.0025410.00121001000.0027190.000306932002000.0068357.7503e-055005000.05566

32、11.2475e-05100010000.2580033.1250e-06150015000.6792401.3898e-06从表(4.1.1)和(4.1.2)我们可以看出,当不变时,随着M2,M1的增加,Gauss-Seidel迭代法的计算时间和迭代步数都在增加,计算时间增加得尤为明显,当M2,M1增加到102数量级时,使用Gauss-Seidel迭代法计算时,我们就会发现其计算速度就明显地变得非常慢,比快速Poisson算法慢了103个数量级,到了300时,计算时间已达到了6分钟,此时,迭代法便不再适用了。而,虽然快速Poisson算法的计算时间也在增加,但是它的计算时间远远没有Gauss

33、-Seidel迭代法增加地那么快,即使到了103数量级,计算时间仍然很小,变化不是很明显。 图(4.1.2)快速Poisson算法 图(4.1.1) Gauss-Seidel迭代法 同时,我们也可绘制出,Gauss-Seidel迭代法和快速Poisson算法的计算时间随M2,M1的变化的图像。我们可以从从图(4.1.1)了解到,当M2,M1很小时(小于102),Gauss-Seidel迭代法的计算时间很短,肉眼几乎看不出来差距,这时,利用Gauss-Seidel迭代法是相当有效的,而当M2,M1超过100时,Gauss-Seidel迭代法的迭代时间迅速增长,这时,Gauss-Seidel就不再

34、适合求解此问题了。而从图(4.2.2)我们可以看到,当M2,M1增大到500时,快速Poisson算法的计算时间仍然小于1s,虽然同M2M120时相比,计算时间增加了很多,但是,比起Gauss-Seidel迭代法,快速Poisson算法所使用的计算时间就显得非常地短,因而,快速Poisson算法更适合求解椭圆方程,而且,我们可以看到,即便M2M11500时(这时,Gauss-Seidel迭代法已经运行的非常非常慢了,大约需要几十分钟),快速Poisson算法的计算时间仍然不超过1s。因而,我们可以得出:当M2,M1100时,Gauss-Seidel迭代法和快速Poisson算法对于求解椭圆方程

35、均有效,而当M2,M1100时,快速Poisson算法更适合求解椭圆问题。数值算例2当M2=M1=40,为变量时,对于Gauss-Seidel迭代法,计算时间以及精确解与数值解之间的误差如表(4.2.1)所示:迭代步数K计算时间精确解与数值解之差15100.0922890.001924820.0789710.001854140.0515060.0016501480.0245545.5258e-04100910.0244483.2034e-04200550.0146711.7412e-04500290.0104457.3570e-051000190.0048433.7525e-055000100

36、.0038657.6629e-061000080.0016883.8351e-06对于快速Poisson算法,计算时间和误差如表(4.2.2)所示:计算时间精确解与数值解之差10.0003410.001920.0004140.001850.0003270.0016500.0003225.5300e-041000.0003223.2201e-042000.0003331.7544e-045000.0003277.4167e-0510000.0004023.7800e-0550000.0004207.6787e-06100000.0003233.8469e-06从表(4.2.1)和表(4.2.2)

37、我们可以看出,随着的增加,Gauss-Seidel迭代法的迭代步数、计算时间和精确解与数值解的误差都在逐渐减少,而,在快速Poisson算法中,计算时间几乎不随的变化而变化,稳定在0.0003-0.0005之间,但,精确解与数值解的误差随着的增大而减少。因而,在步长不变的情况下,快速Poisson算法仍要明显地优于Gauss-Seidel迭代法。数值算例3当=1,M2,M1为变量时,考虑快速Poisson算法随步长的变化(在M2,M1过大时Gauss-Seidel迭代法的迭代时间已远远超出了一分钟,讨论便无意义了),计算时间、精确解与数值解之差如表(4.3.1)所示:M2M1计算时间精确解与数

38、值解之差15005000.0515901.2475e-05100010000.3174773.1250e-06150015000.8046461.3898e-06200020001.7090117.8203e-07250025002.9979795.0060e-07300030005.1210333.4765e-07350035007.7821052.5550e-074000400010.8464451.9559e-074500450015.1954481.5464e-075000500021.4060051.2518e-07从表(4.3.1)我们可以看出,当不变时,随着M2,M1的增加,快速

39、Poisson算法的计算时间也在逐渐增加,且,计算时间以类似于x3的函数形式增长(x3的系数是251410-10),也可以从图(4.3.1)与图(4.3.2)的比较中看出趋势。图(4.3.1) 快速Poisson算法的计算时间随M2,M1的变化图像 图(4.3.2) x3的函数图像比较图(4.3.1)和图(4.3.2)可以看出,当不变时,快速Poisson算法的计算时间随M2,M1的变化图像大似接近于x3(有系数)的函数图像。图(4.3.3)通过对两边函数进行取对数的形式,可以更加直观的看出计算时间的变化图像与x3(有系数)的函数图像拟合程度。其中,红实线表示的是计算时间的对数图像,黑虚线表示

40、的是x3(有系数) 的对数图像。图(4.3.3)x3(有系数)与计算时间的对数图像数值算例4 对于=1,M2= M1=50,不同的误差精度要求时,Gauss-Seidel迭代法所需的计算时间以及精确解与数值解的误差如表(4.4.1)所示:误差精度迭代步数K计算时间精确解与数值解之差10-67160.2012110.001210-79920.2285930.001210-814380.2841010.001210-919420.3847100.001210-1024470.4810190.001210-1129510.5736960.001210-1234550.6656640.0012 从表(4.4.1)我们可以看出,当和M2、M1均不变时,Gauss-Seidel迭代法的迭代步数随着误差精度的减少而增加,换句话说,随着误差精度的要求越来越高时,Gauss-Seidel迭代法的迭代步数K和计算时间都变得越来越大。第5章 总结本文研究的是椭圆方程问题,通过对矩形区域上的带有Dirichlet边界条件下的Poisson方程建立五点差分格式,然后,分别利用Gauss-Seidel迭代法和快速Poisson算法求解,并对二者从M2、M1,不同的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论