偏微分方程数值解实验报告.doc_第1页
偏微分方程数值解实验报告.doc_第2页
偏微分方程数值解实验报告.doc_第3页
偏微分方程数值解实验报告.doc_第4页
偏微分方程数值解实验报告.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

成 绩09信计2011-2012(二)偏微分方程数值解法实验实验题目 Euler法与Adams内外插法的偏微分数值解法 实验题目 2012年5月2日 学生姓名 夏秋涵、梁化义、武良鹏、赵露青、唐琦 所在班级 09信计3 指导教师 杨 扬 徐州工程学院数学与物理科学学院目 录一、摘要.3 1.1 Euler数值积分法.3 1.2 Adams方法.3二、背景.3三、实验.43.1 预备知识.43.2 实验题目.43.3 实验过程分析.4 3.4 实验结果与误差分析.6四、总结10五、参考书文献.10一、摘要1.1 Euler数值积分法:分析数学的重要分支之一。包括一个自变量和它的未知函数以及未知函数的微商的等式叫做常.当时的许多实际问题只能用数值方法求近似解,欧拉折线法便是这方面工作的开端。19世纪初期和中期是数学发展史上的一个转折时期,分析基础的重建、复变函数,等等 .1.2 Adams方法:延迟积分微分方程广泛应用于物理学、生物学、生态学及控制科学等科学领域,这类方程由于通常很难获得理论解的解析式,因此研究这类方程的数值方法是十分有意义的。为求解这些方程,学者们构造了许多的数值计算方法,如:Runge-Kutta方法、线性多步法、Rosonbrock方法等。 Adams方法是线性多步方法的一种特殊形式,由于Adams方法具有良好的稳定性和方便的变阶变步长方法,因而在求解刚性问题时Adams方法显现出其突出的优势。然而,在使用Adams方法时不可避免的要遇到一个问题:步长和阶的选择。选择适当的阶和步长是非常重要的,这将直接影响Adams方法的精度和效率。因此Adams方法的步长和阶的选择也成为了许多研究的主题。 本文首先研究了求解一类Volterra离散-分布型延迟积分微分方程的扩展Adams方法。我们扩展了一般隐式Adams方法求解延迟问题,采用同阶的求积公式离散方程中分布型延迟函数,并用Newton迭代方法执行函数迭代。 其次本文还构造了求解刚性延迟微分方程的变阶变步长Adams方法。利用Nordsieck方法实现变阶变步长策略。再引入小参数改造Adams方法从而通过对参数的选择实现对稳定性和收敛性的控制。二、背景:随着计算机的迅速发展,在科学、技术、工程、生产、医学、经济、和人文等领域中抽象出来的许多数学问题可以应用计算机计算、求解,本课程详细、系统地介绍了计算机中常用的差分方法以及有关理论。使学生掌握常用的差分数值计算方法,并能用计算机求解。大量数学模型都可以用微分方程来描述,但有许多微分方程的定解问题的解不能以实用的解折形式来表示,从而无法得到这些方程的准确解以定量地描述客观过程。本课程详细系统地介绍了计算机中常用的差分方法以及有关理论,使学生掌握常用的差分数值计算方法,并能用计算机求解。本课程在利用计算机的基础上来求上述问题的近似解,通过一些典型、有效的差分方法的讲授,使学生了解如何在计算机上用这些数值方法求解一个微分方程定解问题。 通过学习本课程,要求学生掌握运用各种典型、有效的差分方法及理论。三、实验:3.1 预备知识: 3.1.1 Euler法的迭代格式及其误差分析。 3.1.2 预估-校正算法,改进的Euler法迭代格式及其误差分析。 3.1.3 差分与等距节点插值,Adams外插法格式及误差估计。 3.1.4 高精度的单步法格式,Adams内插法格式及其误差估计。3.2 实验题目: 求解 (1) 用Euler法和改进的Euler法求解,其中步长h=0.1,0.05,0.01(2) 用三阶Adams外插法及内插法求解,步长h=0.1,0.05,0.013.3实验过程分析: 3.3.1本次实验代码用c+语言编写,编译器为VC+6.0.Euler法最简单的数值积分法,数值格式也很简单。在将数学语言转化为计算机语言时,可以直接转化,无需作其他计算或转换。在程序代码中,其数值格式用C+代码表示为uj=uj-1+h*(-5)*uj-1;在编写程序时,先输入步长h的值,针对h将区间(0,1)等分成N=1/h份。然后计算u在这些节点上的近似值。经计算可以得出微分方程满足边值条件的解为。计算真解在节点上的值。输出时,只是输出及数值解误差-.对其优良性进行分析。按照书本上的分析,Euler法的局部截断误差为阶,故其全局误差为阶。因此可以预期它的逼近效果不会很理想。 3.3.2进行改进的Euler法格式实验时,由于右端项只与u有关,t没有显式出现,故进行迭代时,可以将右端的移项到左边,合并后再进行迭代。但为了与书本同步,使用了书本上介绍的预估-校正算法。虽然经计算它们的结果是一样的,但这个算法更具有一般性。预估-校正格式如下: uj=uj-1; /预测,让u(i+1)=u(i)for(k=0;k150;k+) /校正 uj=uj-1+h/2*(-5)*uj-1+(-5)*uj);式中将校正进行了150次。得出的结果比较理想。改进的Euler法较Euler法复杂些,因此其误差也会更小。全局误差达阶。实验输出同上,只是输出及数值解误差-.对其优良性进行分析。 3.3.3Adams外插法比较复杂,用到的知识比较多。不过由于右端项比较特殊,可以将数值格式化为很简单的格式。由于外插法的局部阶段误差为阶,故其全局误差为阶。按照题目的精度要求,本次实验选取k=2.这时全局误差为3阶。在进行的计算时,需用到用到前面,的值。而题目中只是给出一个初值。至少还需要的值为已知,数值格式才可以进行。在这里用了后面介绍的高精度单步法。精度也选为3阶,故单步格式中q取为3。由于右端项只与u有关,故f的二阶导数要算出也不算难。代入化简后,格式如下: u1=u0+h*(1.0-5.0/2.0*h+25.0/6.0*h*h)*(-5)*u0; u2=u1+h*(1.0-5.0/2.0*h+25.0/6.0*h*h)*(-5)*u1;在数值格式右端项中,用到了差分与等距节点插值的相关知识。系数ai可以预先计算出来。由于k=2,故只需知道a0-a2的值,经计算分别为1,.而f的差分最高为二阶。算出来也很简便。将书本数值格式中的aj,算出来后,进行化简。最终得出以下结果:ui+1=ui+h*(23.0/12.0*(-5.0)*ui-4.0/3.0*(-5.0)*ui-1+5.0/12.0*(-5.0)*ui-2);上式并未进行最简单的化简。但结果无异。实验输出同上。总的来说,Adams外插法的精度还是比较高的。且k愈大,精度越高。 3.3.4 Adams内插法较外插法要复杂。不过由于右端项f只与u有关,故进行计算时,同样可以先进行移项合并,再进行数值格式计算。但是在这里同样用了预估-校正方式。而在实际计算中,两者结果无异,不过后者更具有代表性。根据内插法的局部截断误差为,故其全局误差为阶。令k+2=3,得k=1.在进行的计算时,由于右端含有项,故还需要为已知的。由于只给出一个初值,故至少还需知道的值,和外插法一样,用高精度的单步法求出,误差为3阶,取q=3.在右端的计算中,ai和上面的有所不同,经计算分别为1,。而的计算和上面一样。将它们代入,化简后,主要用到的格式如下:u1=u0+h*(1.0-5.0/2.0*h+25.0/6.0*h*h)*(-5)*u0; /单步法求/预测,让迭代格式右端中的u(i+1)=u(i)ui+1=ui+h*(5.0/12.0*(-5)*ui+2.0/3.0*(-5)*ui-1.0/12.0*(-5)*ui-1);for(int r=0;r1000;r+)/校正1000次ui+1=ui+h*(5.0/12.0*(-5)*ui+1+2.0/3.0*(-5)*ui-1.0/12.0*(-5)*ui-1);上式中,校正进行1000次,以保证足够的精度。根据书本的总结,内插法的aj要比外插法的小,又是隐式,故其精度要比外插法的要高。同样用真解在节点上的值与数值解进行比较,分析结果误差及该格式的优良性。3.4 实验结果与误差分析:3.4.1下面逐一对上述四种数值格式进行结果以及误差分析。并对它们进行比较。再进行实验总结。一下所有的输出结果中,第一列为数值解,第二列为数值解与真实解之间的误差。对于欧拉法,由于其算法简单,故其误差也相对比较大。根据分析,其全局误差为阶。而下面的结果当h=0.1时,精度刚好为1阶:下面分别是h=0.05,h=0.01时的结果输出:(h=0.05时的结果,与h同阶)(h=0.01时的结果)从输出结果可以看出,该算法的全局误差都为阶。与理论结果一致。随着h的减小,误差也相应减小。当然这是建立在误差阶为的基础上的。3.4.2下面分别是改进的Euler法在h=0.1,0.05.0.01时的结果截图:(h=0.1)(h=0.05)(h=0.01,其中e-006表示)经分析,改进的Euler法的全局误差为阶。而上面的结果则很好的符合了这个理论。而h越小,则误差越小。且其误差比Euler法要好很多。这个也和理论相符。3.4.3 下面分别是Adams外插法在h=0.1,0.05,0.01时的输出结果:(h=0.1)(h=0.05)(h=0.01)根据题目要求,全局误差要为3阶,应该选取k=2.而当h=0.1及0.01时,出现部分结果的误差为两阶。与理论结果不太符合。而h越小,则误差越小这个理论还是符合的。说明这个数值格式不是很尽人意。而由于u(2)和u(3)是通过高精度的单步法求出来的,它们的误差则无论h取何值,误差均为3阶,这个符合要求。说明了单步法还是比较准确的。3.4.4 下面分别是Adams内插法在h=0.1,0.05,0.01时的输出结果:(h=0.1)(h=0.05)(h=0.01)内插法的误差要求同样为3阶,因此取k=1。从结果看来,误差都符合要求。而且大部分都去到了4阶,甚至更高。其中u(2)是用高精度的单步法求出来的,它也达到了3阶的误差要求。这也说明了高精度的单步法在这个初值问题中,是比较稳定的。四、总结: 综合上述四个数值格式,发觉它们基本上涵盖了主要的数值格式。除了待定系数法外,就连后面的单步法,也包括进去了。通过这次实验,对第一单元的主要内容进行了一次复习以及总结。当然,限于知识水平,无法用实验的方法测试它们的稳定性,收敛性等等。在这里仅是对误差大小进行分析。而就本题目来说,Euler法,改进的Euler法以及Adams内插法都能满足精度要求。而Adams外插法则比要求少了一阶,这个是在完全符合书上的理论要求的情况下进行的。而且在进行了很多次修改,用单步法给出的附加初值同样为3阶的情况下,确保迭代格式没有错误的情况下,结果还是一样。当然,如果附加初值采取更高精度的单步法来球的话,可能后面的误差会控制的很好,但是这不符合题目要求,也没什么意义。于是实验就此结束,不再做深入探究了。在实验过程中,发觉了一些值得注意的地方,例如在改进的Euler法

温馨提示

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

评论

0/150

提交评论