当前位置:文档之家› 第8章 常微分方程数值解法 本章主要内容: 1.欧拉法、改进欧拉法 2

第8章 常微分方程数值解法 本章主要内容: 1.欧拉法、改进欧拉法 2

第8章 常微分方程数值解法本章主要内容:1.欧拉法、改进欧拉法. 2.龙格-库塔法。

3.单步法的收敛性与稳定性。

重点、难点一、微分方程的数值解法在工程技术或自然科学中,我们会遇到的许多微分方程的问题,而我们只能对其中具有较简单形式的微分方程才能够求出它们的精确解。

对于大量的微分方程问题我们需要考虑求它们的满足一定精度要求的近似解的方法,称为微分方程的数值解法。

本章我们主要讨论常微分方程初值问题⎪⎩⎪⎨⎧==00)(),(yx y y x f dx dy的数值解法。

数值解法的基本思想是:在常微分方程初值问题解的存在区间[a,b]内,取n+1个节点a=x 0<x 1<…<x N =b (其中差h n = x n –x n-1称为步长,一般取h 为常数,即等步长),在这些节点上把常微分方程的初值问题离散化为差分方程的相应问题,再求出这些点的上的差分方程值作为相应的微分方程的近似值(满足精度要求)。

二、欧拉法与改进欧拉法欧拉法与改进欧拉法是用数值积分方法对微分方程进行离散化的一种方法。

将常微分方程),(y x f y ='变为()*+=⎰++11))(,()()(n xn x n n dtt y t f x y x y1.欧拉法(欧拉折线法)欧拉法是求解常微分方程初值问题的一种最简单的数值解法。

欧拉法的基本思想:用左矩阵公式计算(*)式右端积分,则得欧拉法的计算公式为:Nab h N n y x hf y y n n n n -=-=+=+)1,...,1,0(),(1 欧拉法局部截断误差11121)(2++++≤≤''=n n n n n x x y h R ξξ或简记为O (h 2)。

我们在计算时应注意欧拉法是一阶方法,计算误差较大。

欧拉法的几何意义:过点A 0(x 0,y 0),A 1(x 1,y 1),…,A n (x n ,y n ),斜率分别为f (x 0,y 0),f (x 1,y 1),…,f (x n ,y n )所连接的一条折线,所以欧拉法亦称为欧拉折线法。

例1用欧拉法解初值问题⎪⎩⎪⎨⎧=≤≤-=1)0()10(2y x xy dx dy在x =0 (0.2) 1处的近似解。

(计算过程保留4位小数)。

【思路】 用欧拉法求解常微分方程的初值问题时,首先熟练掌握欧拉公式的一般形式, 根据具体题目写出找出欧拉公式的迭代式,并根据初始条件和所给步长进行迭代求解。

解 ∵ f (x ,y )=-2xy ,h =0.2,欧拉公式为:)5,4,3,2,1,0()4.01()2(2.0),(1=-=-+=+=+n y x y x y y x hf y y n n n n n n n n n列表计算如下:2.改进欧拉法改进欧拉法比欧拉法的计算准确,是对欧拉法的改进。

改进欧拉法的基本思想:用梯形公式计算(*)式右端积分,则得改进欧拉法的计算公式为:[]Na b h N n y x f y x f hy y n n n n n n -=-=++=+++)1,...,1,0(),(),(2111利用改进欧拉法计算常微分方程初值问题时,我们应注意此公式为隐式表达式,需要对它进行迭代求解。

计算时可以采用一次迭代和多次迭代,因此,就有改进欧拉法预估-校正法公式和反复迭代的改进欧拉法预估-校正法公式。

改进欧拉法预估-校正法公式:()()[]⎪⎩⎪⎨⎧-=++=+=++++)1,...,1,0(),(),(2),(011101N n y x f y x f h y y y x hf y y nn n n n n n n n n反复迭代的改进欧拉法预估-校正法公式:()()()[]⎪⎩⎪⎨⎧=-=++=+=+++++),...,1,0,1,,0(),(),(2),(111101m N n y x f y x f h y y y x hf y y m n n n n n m n n n n n改进欧拉法的局部截断误差11131)(12++++≤≤'''=n n n n n x x y h R ξξ或简记为O (h 3)。

从局部截断误差的形式看,改进欧拉法是二阶方法,因此,它比欧拉法更精确。

例2用预估-校正法求初值问题⎪⎩⎪⎨⎧=≤≤--='1)0()10(2y x xy y y在x=0(0.2)1的解。

【思路】掌握预估-校正法的计算公式,根据已知条件迭代求解。

解 步长h=0.2,将2),(xy y y x f --=代入预估-校正公式,整理得⎪⎩⎪⎨⎧+--=-=+++++2)0(11)0(1212)0(1)((1.01.09.02.08.0n n n n n n n n n n n y x y y x y y y x y y 列表计算如下:例3用改进欧拉法求解例1的初值问题,要求3)1()(10--<-m nm n y y 。

【思路】掌握改进欧拉法的计算公式,根据已知条件迭代求解,并检验迭代解是否满足精度要求,若满足则确定此解为常微分方程在某点的近似解。

解 将xy y x f 2),(-=代入改进欧拉法的计算公式得:()()[]()[]⎪⎩⎪⎨⎧+-=++=-=-+=+=-++-++++)2.0),(),(2)4.01()2(2.0),(1111111)0(1m n n n n n m n n n n n m n n n n n n n n n ny x y x y y x f y x f h y y y x y x y y x hf y y列表计算如下:三、龙格-库塔法 1.龙格-库塔法龙格-库塔法具有精度高、收敛、稳定,不需要计算高阶导数等优点,是求解微分方程初值问题的一组著名的显示单步方法,广泛应用于求解常微分方程的初值问题。

本章我们介绍了二、三、四阶龙格-库塔法。

龙格-库塔法的基本思想:在计算初值问题⎩⎨⎧=='00)(),(y x y y x f y 的数值解时,考虑均差h x y x y n n )()(1-+,则由微分中值定理可得)10()()()(1<<+'=-+θθh x y h x y x y n n n , 由初值问题可得公式为:))(,()()(1h x y h x hf x y x y k k k k θθ+++=+上式中))(,(h x y h x f k k θθ++称为区间上的平均斜率。

如果给平均斜率一种计算方法,就可得到计算y (x n+1)的近似值y n+1的公式。

如果仅取n x 处的斜率值),(n n y x f 作为平均斜率的近似值,则得到的1+n y 的公式为欧拉公式;如果取1,+n n x x 处的斜率值),(n n y x f ,),(11++n n y x f 的平均值作为平均斜率的近似值,则得到的1+n y 的公式改进欧拉公式。

㈠ 二阶龙格-库塔法的公式和局部截断误差:⎪⎪⎩⎪⎪⎨⎧+==++=++),(),()(112122111hk y x f k y x f k k k h y y n n n n n n λλ在上式中选择不同的参数,会得到不同的二阶龙格-库塔法公式,所以二阶龙格-库塔法公式不唯一。

二阶龙格-库塔法公式的局部截断误差为Ο(h 3)。

常见的二阶龙格-库塔法公式有以下两种 改进欧拉法迭代公式⎪⎪⎩⎪⎪⎨⎧+==++=++),(),()(21121211hk y x f k y x f k k k h y y n n n n n n ⎪⎪⎩⎪⎪⎨⎧++==+=+)2,2(),(12121k h y h x f k y x f k hk y y n n n n n n㈡ 三阶龙格-库塔法的公式和局部截断误差: 常见的三阶龙格-库塔法公式为⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧+-+=++==+++=+)2,()2,2(),()4(62131213211hk hk y h x f k k h y h x f k y x f k k k k h y y n n n n n n n n三阶龙格-库塔法公式的局部截断误差为Ο(h 4)。

㈢ 四阶龙格-库塔法公式通常所说的龙格-库塔法是指四阶龙格-库塔法,也称为标准龙格-库塔法。

由于它是一步法,(即已知n y ,就可以求出1+n y ,无需知道1-n y ,2-n y ,…的值)且它的计算精度高,所以应用较多,但在计算时,因为每一步都需要计算四次f (x ,y )的值,计算量较大,所以,一般用来计算前几项的近似值,即“表头”。

四阶龙格-库塔法公式为的公式和局部截断误差:⎧+2⎪⎪⎩⎪⎪⎨+==+=+),2(),(12121k h y h x f k y x f k hk y y n n n n n n⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧++=++=++==++++=+),()2,2()2,2(),()22(6342312143211hk y h x f k k h y h x f k k h y h x f k y x f k k k k k h y y n n n n nn n n n n四阶龙格-库塔法的局部截断误差为Ο(h 5)。

四、单步法的收敛性和稳定性 1.收敛性如果在无舍入误差且步长h 充分小的情况下,求得的近似值n y 足够精确地逼近真解)(n x y ,即:当0→h 时,一致地有)(n n x y y →①欧拉法整体截断误差:n n ny x y -=)(ε其中)(n x y 为真解,n y 为在无舍入误差情况下,从y 0用欧拉法计算公式求得的近似解。

② 欧拉法的收敛条件:如果f(x,y)关于y 满足Lipschitz 条件,且局部截断误差R n 有 界,即),,...,2,1(222N n M h R n =≤则欧拉法收敛。

且欧拉法的整体截断误差估计式为:)1(2)(2-≤-a b L n e LhM ε 其中L 为Lipschitz 常数,b-a 为求解区间的长度,)(max 2x y M bx a ''=≤≤。

3.稳定性和绝对稳定性①稳定性:指初始(或某步)产生的误差在后面的迭代计算中不会再扩大。

即存在常数C 及h 0,0<h ≤h 0时,对任意两个初始值00~,y y 满足不等式 00~~y y C y y n n -≤-。

② 欧拉法稳定性的条件:如果f(x,y)关于y 满足Lipschitz 条件,则欧拉法稳定。

③ 绝对稳定性:若对固定步长0h 及任意两个初始值00~,y y 满足不等式00~~y y y y n n -≤-。

④ 我们在讨论稳定性时应注意,一般在实际计算中只能取固定步长,它不可能任意缩小。

所以绝对稳定性则表示的是对固定步长h 0,在初始(或某步)所产生的误差,在以后计算中不会逐步增长。

相关主题