1、Advances in Applied Mathematics 应用数学进展应用数学进展,2023,12(8),3763-3769 Published Online August 2023 in Hans.https:/www.hanspub.org/journal/aam https:/doi.org/10.12677/aam.2023.128370 文章引用文章引用:孙波,熊常鹏.常微分方程欧拉折线法的 Picard 迭代改进J.应用数学进展,2023,12(8):3763-3769.DOI:10.12677/aam.2023.128370 常微分方程欧拉折线法的常微分方程欧拉折线法的Pi
2、card迭代改进迭代改进 孙孙 波波,熊常鹏熊常鹏 湖南科技学院理学院,湖南 永州 收稿日期:2023年7月26日;录用日期:2023年8月18日;发布日期:2023年8月28日 摘摘 要要 考虑常微分方程数值解法,对欧拉折线法加以改进。主要方法是考虑常微分方程数值解法,对欧拉折线法加以改进。主要方法是,对每个节点处局部线性近似解进行一对每个节点处局部线性近似解进行一次次Picard迭代修正,用局部修正解估算下一节点处解值。证明了算法局部截断误差比欧拉折线法高一阶,迭代修正,用局部修正解估算下一节点处解值。证明了算法局部截断误差比欧拉折线法高一阶,分析了算法的收敛性与稳定性。通过方程实例数值计
3、算进一步验证了本文算法所得近似解比欧拉折线法分析了算法的收敛性与稳定性。通过方程实例数值计算进一步验证了本文算法所得近似解比欧拉折线法近似解更接近精确解近似解更接近精确解。关键词关键词 常微分方程,欧拉折线法,常微分方程,欧拉折线法,Picard迭代,修正迭代,修正 Improvement of Euler Method for Ordinary Differential Equations by Picard Iteration Bo Sun,Changpeng Xiong College of Science,Hunan University of Science and Engineer
4、ing,Yongzhou Hunan Received:Jul.26th,2023;accepted:Aug.18th,2023;published:Aug.28th,2023 Abstract In this paper we study numerical algorithms for ordinary differential equations,and improve the Euler method.We refine local linear approximate solution at each node by Picard iteration,and then estimat
5、e the numerical solution at next node by the refined local approximate solution.The local truncation error of our algorithm is smaller than that of Euler method by one order.The convergence and stability are proven.Finally,we show that our algorithm gives approximate solu-tion closer to the exact so
6、lution than Euler method by an example.Keywords Ordinary Differential Equation,Euler Method,Picard Iteration,Correct 孙波,熊常鹏 DOI:10.12677/aam.2023.128370 3764 应用数学进展 Copyright 2023 by author(s)and Hans Publishers Inc.This work is licensed under the Creative Commons Attribution International License(C
7、C BY 4.0).http:/creativecommons.org/licenses/by/4.0/1.引言引言 一阶常微分方程初值问题形如()00d,d.x xyf x yxyy=(1.1)为保证解的存在唯一性,(),f x y在含点()00,xy的某区域连续,且关于 y 局部 Lipschitz 连续。当(),f x y表达式较复杂时,难以用分离变量积分等办法求出解析解,只能通过数值方法计算近似解了。数值方法主要思想是,用差商近似代替微商,将方程差分化,离散化。经典方法主要有 Euler 方法和Runge-Kutta 方法。Euler 方法的简单体现形式为显式 Euler 公式,即 E
8、uler 折线法:()1,nnnnyyhf xy+=+,0,1,n=.其局部截断误差为()2O h,其中 h 为离散化步长。若用向后差商()()1nny xy xh+近似代替导数()1nyx+,还可得隐式或后退 Euler 公式:()111,nnnnyyhf xy+=+.其局部截断误差也是()2O h。具体计算时要先用显式 Euler 公式给出初步近似解,再由隐式公式进行迭代修正。Euler 方法的高级体现形式主要为梯形公式和预估校正公式。梯形公式可表述为()()111,2nnnnnnhyyf xyf xy+=+,其局部截断误差为()3O h。由于是隐式,具体计算时也需先用显式 Euler 公
9、式给出初步近似解,再由隐式公式进行迭代修正。预估校正公式即对显式 Euler 公式所给初步近似解进行一次迭代修正,可表述为()1,nnnnyyhf xy+=+,()()111,2nnnnnnhyyf xyf xy+=+.其局部截断误差为()3O h。Runge-Kutta算法思想是,用几个点处f 预估值加权平均作为当前节点处y估计值,以提高计算精度。为了进一步提高计算精度,还可利用当前节点1nx+前面多个节点1,nnn rxxx处的数值结果1,nnn ryyy估算1ny+,即线性多步法。据我们所查阅数值分析教材和参考书所述(1-6),一阶常微分方程初值问题经典数值解法主要就是这些。期刊文献上也
10、发表了一些探索性工作。如 2011 年,钟巍提出的一种数值解法,先将方程变形为(),ddf x yyxyy=,Open AccessOpen Access孙波,熊常鹏 DOI:10.12677/aam.2023.128370 3765 应用数学进展 再根据右端在当前节点值的正负给出下一节点数值解。文章举例说明了算法的近似效果,但未给出收敛性证明和误差估计(7)。现代人工神经网络理论和应用的发展也丰富了微分方程数值解法,通过训练带权重参数的试验解(trial solution),使其逐渐适应方程,这便是微分方程的神经网络数值解法(8)。应该说,常微分方程人工神经网络数值解法具有一定开创性。202
11、2 年,孙波、陈慧雄对一阶常微分方程初值问题解的存在唯一性 Picard 迭代证明法加以改进,提高了迭代收敛速度9。微分方程初值问题(1.1)可转化为等价积分方程()00,dxxyyf x yx+=.(1.2)通过构造迭代函数序列()()()010,dnnxxxyf xxx+=(1.3)可推导解的存在性。一般教科书拿()00 xy起始迭代,只要(),f x y在()00,xy的某矩形邻域内连续,且关于 y 李普希兹连续,则()nx在0 x的某邻域内一致收敛,其极限函数()x便是积分方程(1.2)即初值问题(1.1)的解。Picard 迭代的作用是改进局部近似解,每迭代一步使近似解更接近精确解。
12、孙波、陈慧雄将迭代起始函数改为()()()00000,xyf xyxx+,并证明了所得迭代函数列也一致收敛,且比以()00 xy起始迭代生成的函数列更快收敛到精确解。考虑到 Picard 迭代具有修正局部近似解作用,而欧拉折线法实质上就是分段局部线性近似求解。若将每个节点处局部线性近似解用 Picard 迭代修正一次,应更接近精确解。基于这一考虑,我们用 Picard迭代对欧拉折线法每个节点处局部线性近似解修正一次。第二节陈述算法,证明其收敛性与稳定性,并给出误差估计。第三节通过计算实例说明算法效果,并和欧拉折线法加以比较。2.基于基于 Picard 迭代修正的数值解法迭代修正的数值解法 本文
13、算法可表述如下:第一步:将初始点0 x处一阶近似解()()0000,yyf xyxx=+代入(1.2)或(1.3)右边,得修正的局部解()()()000000,dxxyyf x yf xyxxx+=+.(2.1)然后用(2.1)估算节点10 xxh=+处的解值:()()()10100000,dxxyyf x yf xyxxx+=.第二步:对1x处线性近似:()()1111,yyf x yxx=+进行 Picard 修正:()()()111111,dxxyyf x yf x yxxx+=+,并用它估算2xx=处的解值。孙波,熊常鹏 DOI:10.12677/aam.2023.128370 376
14、6 应用数学进展 对后续节点23,xxx=重复第二步,节点1nx+处的数值解可表示为()()()11,dnnxnnnnnnxyyf x yf xyxxx+=+,0,1,2,n=.(2.2)上述算法的局部截断误差定义为()111nnnxeyy+=,其中()1ny x+为精确解在1nxx+=处的值,1ny+表示取()nnyy x=时1nxx+=处的数值解,即()()()()()()11,dnnxnnnnnnxy xf x y xf xy xxxxy+=+.(2.3)于是()()()()()()()()()()()()()()()()()()()()1111111,dd,d,d,d,nnnnnnnn
15、nnxnnnnnnnxxxnnnnxxxxnnnnxxey xy xf x y xf xy xxxxyxxf x y xf xy xxxxf x y xxf x y xf xy xxxx+=+=+=+(2.4)对(2.4)右端积分式中被积函数在nx进行一阶泰勒展开:()()()()()()()()()()()(),nnxnnynnnnnnf x y xf xy xfxy xfxy xf xy xxxo xx=+,()()()()()()()()()()()()()()(),nnnnnnxnnynnnnnnf x y xf xy xxxf xy xfxy xfxy xf xy xxxo xx+=
16、+其中()no xx表示0h 时nxx的高阶无穷小。将它们代入(2.4)式,整理得()()121dnnxnnxo xxxeo h+=.(2.5)欧拉折线法的局部截断误差为()2O h,我们的改进算法比较欧拉折线法至少提高了一阶精度。由局部截断误差可进一步估计整体截断误差()111nnney xy+=.由(2.2)和(2.3)可得()()()()()()()()()111,dnnxnnnnnnnnnnnnxyy xyf x y xf xy xxxf x yyf xyxxx+.(2.6)设(),f x y关于 y 的李普希兹常数为 L,则由(2.6)进一步有()2211112nnnnyLhL hy
17、 xyy+.而局部截断误差结论(2.5)还可表述为()311nnCyy xh+C 为某正常数。于是,()()()223111111112nnnnnnnny xyy xyLhL hy xyChyy+.孙波,熊常鹏 DOI:10.12677/aam.2023.128370 3767 应用数学进展 即整体截断误差满足递推关系 2231112nneLhL heCh+.向前递推可得 2222202111121122nnnLhL heLhL heChLL h+.因00e=,进一步有 2222111212nnLhL heChLL h+.由此可推知,本文算法整体截断误差为()o h,算法收敛性不言而喻。从局部
18、截断误差阶数看,本文算法达到了梯形公式和预估校正公式的计算精度。但梯形公式和预估校正公式为隐式,而我们的算法公式为显式。3.数值模拟数值模拟 例 3.1 考虑初值问题 2yxy=,()01y=.(3.1)用分离变量法可得其解析解()2expyx=。为检验本文算法,在区间01x内分别取离散化步长0.2h=和 0.1,分别用欧拉折线法和 Picard 迭代修正法进行数值计算,比较二者的计算误差。用欧拉折线法近似求解初值问题(3.1)的公式为 01y=,12nnnnyyx y h+=+,Picard 迭代修正法近似公式为 01y=,()()()()()()()11223322211122211122
19、d4234112.3nnxnnnnnnxnnnnnnnnnnnnnnnnnnnnyyx yx yxxxyyxxx yxxxxxyxxxxxx xxh+=+=+=+先取0.2h=,分别用欧拉折线法和 Picard 迭代修正法近似求解(3.1),精确解、欧拉折线法近似解和Picard 迭代近似解在各节点处的数值比较如表 1。由表中数值计算结果可以看出,Picard 迭代修正法所得数值解比欧拉折线法所得数值解更接近精确解。欧拉折线法在五个节点处数值解与精确解最大相差为 0.1526,Picard 迭代修正法在五个节点处数值解与精确解最大相差为 0.0586,约为前者三分之一。同一坐标框内解析解曲线、
20、欧拉折线法和 Picard 迭代修正近似解折线图如图 1 所示,图中标识符“Euler”、“precision”和“Picard”所指曲线分别为 Euler 折线数值解图象、精确解图象和 Picard 迭代修正解图象。孙波,熊常鹏 DOI:10.12677/aam.2023.128370 3768 应用数学进展 Table 1.Values of the exact solution,approximate solutions of(3.1)by Euler method and Picard iteration respectively,0.2h=表表 1.初值问题(3.1)精确解、欧拉折线
21、近似解和 Picard 迭代修正近似解在节点处的值,0.2h=节点 精确解 欧拉折线近似解 Picard 修正近似解 0.2 1.04081 1.08000 1.04000 0.4 1.17351 1.25280 1.17035 0.6 1.43333 1.55347 1.42439 0.8 1.89648 2.05058 1.87336 1.0 2.71828 2.87082 2.65967 Figure 1.Graphs of the exact solution,approximate solution of(3.1)by Euler method and Pi-card iterati
22、on respectively,0.2h=图图 1.初值问题(3.1)精确解曲线,欧拉法及 Picard 迭代修正解折线图比较,0.2h=然后取0.1h=,分别用欧拉折线法和 Picard 迭代修正法近似求解(3.1),精确解、欧拉折线法近似解和 Picard 迭代近似解在各节点处的数值比较如表 2。Table 2.Values of the exact solution,approximate solution of(3.1)by Euler method and Picard iteration respectively,0.1h=表表 2.初值问题(3.1)精确解、欧拉折线法近似解和 P
23、icard 迭代修正法近似解在节点处的值,0.1h=节点 精确解 欧拉折线近似解 Picard 修正近似解 0.1 1.01005 1.02000 1.01000 0.2 1.04081 1.06080 1.04063 0.3 1.09417 1.12444 1.09377 0.4 1.17351 1.21440 1.17274 0.5 1.28402 1.33584 1.28267 0.6 1.43332 1.49614 1.43103 0.7 1.63231 1.70560 1.62852 0.8 1.89648 1.97850 1.89027 0.9 2.24790 2.33463 2.
24、23783 1.0 2.71828 2.80156 2.70196 孙波,熊常鹏 DOI:10.12677/aam.2023.128370 3769 应用数学进展 取0.1h=所得欧拉折线法近似解与精确解在各节点处相差最大值为 0.086725,Picard 迭代修正法近似解与精确解在各节点相差最大值为 0.016316,不到前者五分之一。欧拉折线数值解最大误差比0.2h=时缩小将近一半,Picard 迭代修正数值解最大误差不到0.2h=时的三分之一,体现出 Picard 迭代修正数值解比欧拉折线数值解收敛性也更好。Figure 2.Graphs of the exact solution,a
25、pproximate solution of(3.1)by Euler method and Pi-card iteration respectively,0.1h=图图 2.初值问题(3.1)精确解曲线、欧拉折线法及 Picard 迭代修正解折线图比较,0.1h=同一坐标框内解析解曲线、欧拉折线数值解和 Picard 迭代修正解折线图如图 2。参考文献参考文献 1 薛毅.数值分析与科学计算M.第 1 版.北京:科学出版社,2011.2 李桂成.计算方法M.第 2 版.北京:电子工业出版社,2013.3 韩旭里.数值分析M.第 1 版.北京:高等教育出版社,2011.4 蒋勇,李建良.数值分析
26、与计算方法M.第 1 版.北京:科学出版社,2012.5 李乃成,梅立泉.数值分析M.第 1 版.北京:科学出版社,2011.6 Sauer,T.Numerical Analysis M.第 1 版.吴兆金,等,译.人民邮电出版社,2010.7 钟巍.一种新的常微分方程初值问题数值解法J.重庆文理学院学报(自然科学版),2011,30(4):15-18.8 Mall,S.and Chakraverty,S.(2016)Application of Legendre Neural Network for Solving Ordinary Differential Equa-tions.Applied Soft Computing,43,347-356.https:/doi.org/10.1016/j.asoc.2015.10.069 9 孙波,陈慧雄.常微分方程初值问题的一种快速迭代J.湖南科技学院学报,2022,43(5):1-4.