(整理)常微分方程解
考研数学常微分方程解题技巧整理:攻克常微分方程题型,迅速解题

确定题目中的物理量,如质量、长度、时间等
THANK YOU
汇报人:XX
利用数值方法求解常微分方程的近似解
05
验证解的正确性和稳定性
06
总结解题方法和技巧,提高解题效率
解题思路
理解题目:明确题目要求,找出已知条件和未知量
建立模型:根据题目要求,建立相应的常微分方程模型
求解模型:利用常微分方程的求解方法,如分离变量法、积分法等,求解模型
检验结果:对求解结果进行检验,确保其正确性和合理性
生物化学反应模型:利用常微分方程求解化学反应速率随时间的变化
生物细胞分裂模型:利用常微分方程求解细胞分裂数量随时间的变化
生物种群竞争模型:利用常微分方程求解不同种群之间的竞争关系
工程问题
应用解解决实际问题,如设计、优化等
讨论解的物理意义,如稳定性、收敛性等
求解微分方程,如分离变量法、积分法等
建立微分方程模型,如牛顿第二定律、能量守恒定律等
- 解的稳定性:解的稳定性取决于p(x)和q(x)的性质- 解的收敛性:解的收敛性取决于p(x)和q(x)的性质
- 物理、工程、经济等领域的常微分方程问题- 数学建模、数值分析等领域的常微分方程问题
常微分方程的应用题解题技巧
05
物理问题
光学问题:如折射、反射等
流体力学问题:如流体的流动、压力等
量子力学问题:如量子纠缠、量子隧道等
复数法的注意事项:注意复数运算法则的应用,避免错误
线性常微分方程解题技巧
04
齐次线性方程的解法
齐次线性方程的定义:所有项都是线性的,且所有项的次数都相同
齐次线性方程的解法:利用特征值和特征向量求解
特征值和特征向量的定义:特征值是方程的解,特征向量是与特征值对应的向量
(整理)第七章常微分方程数值解1

第七章常微分方程数值解本章介绍求解微分方程数值解的基本思想和方法.●常微分方程含有自变量、未知函数和它的一阶导数和高阶导数的方程.它是描述运动、变化规律的重要数学方法之一,分为两类:1.初值问题,即给出未知函数及导数在初始点的值2.边值问题,即给出未知函数及(或)它的某些导数在区间两个端点的值●常微分方程初值问题00(,),, ||(),,y f x y a x b y y a y y R '=<≤<∞⎧⎨=∈⎩ 其中f 为,x y 的已知函数,0y 为给定的初值. 这里仅讨论一阶标量微分方程初值问题的数值解法.而高阶微分方程通常可化为一阶微分方程组来研究.数值解法寻求微分方程初值问题之解()y x 在一系列离散点012N a x x x x b =<<<<=上的近似值:,,,210y y yN y , 的方法.{}n y : 问题的数值解数值解所满足的离散方程统称为差分格式. 步长:1i i i h x x -=- ,一般取定步长i h h =● 初值问题的适定性(其解是否唯一存在)记(带形)区域:[,]a b R ⨯为G ,即G =[,]a b R ⨯. 设:f G R →为连续映射,若存在常数0L >使得不等式1212|(,)(,)|||f x y f x y L y y -≤- 对一切12(,),(,)x y x y G ∈都成立,则称(,)f x y 在G 上关于y 满足Lipschitz 条件,而式中的常数L 称为Lipschitz 常数.定理 初值问题00(,),, ||(),,y f x y a x b y y a y y R '=<≤<∞⎧⎨=∈⎩,当(,)f x y 在G 上连续,且关于y 满足Lipschitz 条件,则其解存在且唯一.§ 7.1 Euler 方法● Euler 公式将初值问题⎩⎨⎧∈=∞<≤<=',,)(||,),,(00R y y a y y b x a y x f y 的求解区间],[b a N 等分,分点:),,2,1,0(,N n nh a x n =+= ,其中N ab h -=将),(y x f y ='写成等价的积分方程形式:⎰++=+hx x d y f x y h x y τττ))(,()()(,在上式中令n x x =,并用左矩形公式计算右端积分,得到n n n n n R x y x hf x y h x y ++=+))(,()()(, (*)⎰+-=1))(,())(,(n nx x n n n x y x hf dx x y x f R ——余项将(*)中的余项n R 截去,可得))(,()()(1n n n n x y x hf x y x y +≈+则有)(n x y 的近似值n y 的递推公式1,,1,0),,(1-=+=+N n y x hf y y n n n n (*1)----------Euler 公式n R 表示当)(n n x y y =为精确值时,利用(*1)即Euler 公式计算)(1+n x y 时的误差.n n n y x y -=)(ε 为Euler 方法的局部截断误差.例1 用Euler 公式解初值问题⎪⎩⎪⎨⎧=≤<-='1)0(10,2y x y x y y解:取1.0=h ,Euler 公式的具体形式为)2(),(1nnn n n n n n y x y h y y x hf y y -+=+=+其中)10,,1,0,1.0 ===n n nh x n ( 已知10=y ,则有1.11.01)2(0001=+=-+=y x y h y y191818.1)1.12.01.1(1.01.1)2(11112=-+=-+=y x y h y y… … … 依次计算可得109876543,,,,,,,y y y y y y y y其部分结果见下表可见Euler 方法的计算结果精度不太高。
常微分方程的常见解法

# 定义网格密度
arrows=LINE,
# 定义线段类型
axes=NORMAL);
# 定义坐标系类型
在MATLAB的向量场命令为 quiver(x,y,px,py)
回车后Maple就在1 1 的网格点上画出了向量场
44
的图形,并给出了过点(-2, 2) (-2 ,1) (-2,2) 的三
条积分曲线,见下图
M (x,y)co x s2xye , y
N (x,y)co x s2xye x
M(x,y)N(x,y)
y
x
所以方程为全微分方程。
由公式F (x ,y ) 0M (s ,y )d s 0N (0 ,s )d s
x(yc o ss 2 se y)d sy2 d s
0
0
ysinxx2ey2y
或
x
y
F (x ,y )x 0M (s ,y ) d s y 0N (x 0 ,s ) d
s
例:验证方程
( y c o s x 2 x e y ) d x ( s i n x x 2 e y 2 ) d y 0
是全微分方程,并求它的通解。 解:由于 M (x ,y ) y c o sx 2 x e yN (x ,y ) s in x x 2 e y 2
dx
令 zy1n,则 dz(1n)yndy
dx
dx
d z (1 n )P (x )z (1 n )Q (x )
d x
求出此方程通解后, 换回原变量即得伯努利方程的通解。
例 湖泊的污染
设一个化工厂每立方米的废水中含有3.08kg盐酸, 这些废水流入一个湖泊中,废水流入的速率20 立方米每小时. 开始湖中有水400000立方米. 河水 中流入不含盐酸的水是1000立方米每小时, 湖泊 中混合均匀的水的流出的速率是1000立方米每小 时,求该厂排污1年时, 湖泊水中盐酸的含量。 解: 设t时刻湖泊中所含盐酸的数量为 x ( t )
常微分方程的解法总结总结

常微分方程的解法总结前言常微分方程(Ordinary Differential Equation,ODE)是研究一阶或高阶导数与未知函数之间关系的数学方程。
在物理学、工程学和计算机科学等领域,常微分方程扮演着重要的角色。
解决常微分方程是这些领域中许多问题的关键。
本文将总结常用的常微分方程解法方法,帮助读者加深对常微分方程的理解并提供解决问题的思路。
一、可分离变量法可分离变量法是一种常见且简单的求解常微分方程的方法。
它适用于形如dy/dx = f(x)g(y)的一阶常微分方程。
解题思路:1.将方程写成dy/g(y) = f(x)dx的形式,将变量进行分离。
2.两边同时积分得到∫(1/g(y))dy = ∫f(x)dx。
3.求出积分后的表达式,并整理得到解 y 的表达式。
使用这种方法解决常微分方程的步骤相对简单,但要注意确认分母不为零以及选取合适的积分常数。
二、特殊方程类型的求解除了可分离变量法,常微分方程还存在一些特殊的方程类型,它们可以通过特定的方法进行解决。
1. 齐次方程齐次方程是指形如dy/dx = F(y/x)的方程。
其中,F(t) 是一个只有一个变量的函数。
解题思路:1.令 v = y/x,即 y = vx。
将方程转化为dy/dx = F(v)。
2.对于dv/dx = F(v)/x这个方程,可以使用分离变量法进行求解。
3.求出 v(x) 后,将其代入 y = vx 得到完整的解。
2. 齐次线性方程齐次线性方程是指形如dy/dx + P(x)y = 0的方程。
解题思路:1.使用积分因子法求解,将方程乘以一个积分因子,使得左边变成一个可积的形式。
2.求积分因子的方法是根据公式μ = e^(∫P(x)dx),其中 P(x) 是已知的函数。
3.通过乘积的方式求解完整的方程。
3. 一阶线性常微分方程一阶线性常微分方程是指形如dy/dx + P(x)y = Q(x)的方程。
解题思路:1.使用积分因子法,将方程乘以一个积分因子,使得左边变成一个可积的形式。
常微分方程的常见解法

曲线(称为积分曲线),且 fx,x就是该曲线上
的点 x,x处的切线斜率,特别在 x0, y0切线斜率 就是 f x0,y0 尽管我们不一定能求出方程 1.3.1 的 解,但我们知道它的解曲线在区域D中任意点 x, y
的切线斜率是 f x, y。 如果我们在区域D内每一点 x, y 处,都画上一个
可化为齐次方程的方程
形如
dyf(a xb yc) dx a1b1yc1
的方程可化为齐次方程.
其中 a,b,c,a1,b1,c1都是常数.
1. 当 cc10时, 此方程就是齐次方程.
2. 当 c2c120 时, 并且
ab
(1)
a1
0 b1
此时二元方程组 axbyc0 a1xb1yc0
有惟一解 x,y.
例,且融化过程中它始终为球体,该雪球在
开始时的半径为6cm ,经过2小时后,其半径缩
小为3cm。求雪球的体积随时间变化的关系。
解:设t时刻雪球的体积为 V ( t ) ,表面积为 S ( t ) ,
由题得
dV(t) kS(t)
dt
12 2
球体与表面积的关系为 S(t)(4)333V3
12
引入新常数r (4)333k 再利用题中的条件得
或
x
y
F (x ,y )x 0M (s ,y ) d s y 0N (x 0 ,s ) d
s
例:验证方程
( y c o s x 2 x e y ) d x ( s i n x x 2 e y 2 ) d y 0
是全微分方程,并求它的通解。 解:由于 M (x ,y ) y c o sx 2 x e yN (x ,y ) s in x x 2 e y 2
(整理)常微分方程(含解答)

第八章 常微分方程【教学要求】一、了解微分方程的基本概念:微分方程,微分方程的阶、解、特解、通解、初始条件和初值问题,线性微分方程。
二、熟练掌握一阶可分离变量微分方程的解法。
三、熟练掌握一阶线性非齐次微分方程)()(x q y x p y =+'的解法——常数变易法和公式法。
四、理解线性微分方程解的性质和解的结构。
五、熟练掌握二阶线性常系数齐次微分方程0=+'+''qy y p y 的解法——特征根法。
会根据特征根的三种情况,熟练地写出方程的通解,并根据定解的条件写出方程特解。
六、熟练掌握二阶线性常系数非齐次微分方程qy y p y +'+'')(x f =,当自由项f (x )为某些特殊情况时的解法——待定系数法。
所谓f (x )为某些特殊情况是指f (x )为多项式函数,指数函数或它们的和或乘积形式、三角函数x x x ββαsin cos ,e 。
关键是依据f (x )的形式及特征根的情况,设出特解y *,代入原方程,定出y *的系数。
【教学重点】 一阶可分离变量微分方程、一阶线性微分方程、二阶线性常系数微分方程的解法。
【典型例题】。
的阶数是微分方程例)(e )(12x y y y =-'+''2.1.B A 4.3.D C 解:B。
的特解形式是微分方程例)(e 232x x y y y +=+'-'' x x x b ax B b ax A e )(.e ).(++x x c b ax D cx b ax C e ).(e ).(++++解:C是一阶线性微分方程。
下列方程中例)(,3 x x y y x B y A yx cos sin 1.e .2=+'='+ y x y D y y x y C ='=+'+''.0.解:B ⎩⎨⎧=='++1)1(0)1(4y y x y y 求解初值问题例 ⎰⎰-=+x x y y y d )1(d 解:由变量可分离法得c x y y ln ln 1ln+-=+∴ 代入上式得通解为由21ln ln 1)1(=⇒=c yx y y 211=+ 的特解。
常微分方程的常见解法

实例解析
实例1
求解一阶线性常微分方程 $y' + p(x)y = q(x)$,通过引入参数 $lambda$,可以将方程转化为 $lambda y = q(x)$,从而简化求解过程。
实例2
求解二阶常微分方程 $y'' + y' + y = 0$,通过引入参数 $lambda$,可以将方程转化为 $lambda^2 + lambda + 1 = 0$,从而求解出 $lambda$ 的值,进一步得到原方程的解。
当 (M(x)) 和 (N(x)) 均为非零函数时,该方法适用。
实例解析
1. 确定积分因子
选择积分因子为 (e^x)
5. 解出原方程
将 (e^x y = frac{1}{3} e^{3x} + C) 代入 原方程,解得 (y = frac{1}{3} x^2 + Ce^{-x})
4. 解方程
对两边积分,得到 (e^x y = frac{1}{3} e^{3x} + C)
04 积分因子法
定义与特点
定义
积分因子法是一种通过引入一个因子来简化微分方程的方法。
特点
通过乘以一个适当的因子,可以将微分方程转化为可分离变量的形式,从而简化求解过程。
适用范围
适用于形如 (M(x)y' + N(x)y = f(x)) 的线性微分方程,其中 (M(x)) 和 (N(x)) 是 已知函数,(f(x)) 是给定的函数。
实例2
考虑一阶常微分方程 (dy/dx = xy),其中 (x > 0) 且 (y > 0)。通过分离变量法, 我们可以得到 (dy/y = xdx),进一步求解得到 (ln|y| = frac{1}{2}x^2 + C),其 中 (C) 是积分常数。
常微分方程解法

常微分方程解法常微分方程是数学中的一门重要分支,研究描述自然界和社会现象中变化规律的方程。
解常微分方程的方法多种多样,下面将介绍常见的几种解法。
一、分离变量法分离变量法适用于形如dy/dx=f(x)g(y)的一阶常微分方程。
解题步骤如下:1. 将方程写成dy/g(y)=f(x)dx的形式,将变量分离。
2. 对两边同时积分,得到∫dy/g(y)=∫f(x)dx。
3. 左边的积分可以通过换元或者使用常见函数的积分公式进行计算。
4. 右边的积分可以通过与左边的积分结果进行比较来判断是否需要使用特殊的积分技巧。
5. 对左右两边同时积分后,解出方程中的积分常数。
6. 将积分常数代回原方程中,得到完整的解。
二、常数变易法常数变易法适用于形如dy/dx+p(x)y=q(x)的一阶常微分方程。
解题步骤如下:1. 先求出对应的齐次方程dy/dx+p(x)y=0的通解。
2. 假设原方程的特解为y=u(x)v(x),其中u(x)是一个待定的函数,v(x)是齐次方程的通解。
3. 将y=u(x)v(x)代入原方程中,整理后得到关于u(x)和v(x)的方程。
4. 解出关于u(x)的方程,得到u(x)的值。
5. 将u(x)的值代入v(x)中,得到特解。
6. 特解与齐次方程的通解相加,即得到原方程的完整解。
三、二阶齐次线性方程解法二阶齐次线性方程的一般形式为d^2y/dx^2+p(x)dy/dx+q(x)y=0。
解题步骤如下:1. 求解对应的齐次方程d^2y/dx^2+p(x)dy/dx+q(x)y=0的特征方程r^2+p(x)r+q(x)=0,其中r为未知数。
2. 求解特征方程得到两个不同的根r1和r2。
3. 根据r1和r2的值,得到齐次方程的通解y=c1e^r1x+c2e^r2x,其中c1、c2为任意常数。
四、变量替换法变量替换法适用于形如dy/dx=f(y/x)的一阶常微分方程。
解题步骤如下:1. 进行变量替换,令u=y/x,即y=ux。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章常微分方程数值解[课时安排]6学时[教学课型]理论课[教学目的和要求]了解常微分方程初值问题数值解法的一些基本概念,如单步法和多步法,显式和隐式,方法的阶数,整体截断误差和局部截断误差的区别和关系等;掌握一阶常微分方程初值问题的一些常用的数值计算方法,例如欧拉(Euler)方法、改进的欧拉方法、龙贝-库塔(Runge-Kutta)方法、阿达姆斯(Adams)方法等,要注意各方法的特点及有关的理论分析;掌握构造常微分方程数值解的数值积分的构造方法和泰勒展开的构造方法的基本思想,并能具体应用它们导出一些常用的数值计算公式及评估截断误差;熟练掌握龙格-库塔(R-K)方法的基本思想,公式的推导,R-K公式中系数的确定,特别是能应用“标准四阶R-K公式”解题;掌握数值方法的收敛性和稳定性的概念,并能确定给定方法的绝对稳定性区域。
[教学重点与难点]重点:欧拉方法,改进的欧拉方法,龙贝-库塔方法。
难点:R—K方法,预估-校正公式。
[教学内容与过程]4.1 引言本章讨论常微分方程初值问题(4.1.1)的数值解法,这也是科学与工程计算经常遇到的问题,由于只有很特殊的方程能用解析方法求解,而用计算机求解常微分方程的初值问题都要采用数值方法.通常我们假定(4.1.1)中f(x,y)对y满足Lipschitz条件,即存在常数L>0,使对,有(4.1.2) 则初值问题(4.1.1)的解存在唯一.假定(4.1.1)的精确解为,求它的数值解就是要在区间上的一组离散点上求的近似.通常取,h称为步长,求(4.1.1)的数值解是按节点的顺序逐步推进求得.首先,要对方程做离散逼近,求出数值解的公式,再研究公式的局部截断误差,计算稳定性以及数值解的收敛性与整体误差等问题.4.2 简单的单步法及基本概念4.2.1 Euler法、后退Euler法与梯形法求初值问题(4.1.1)的一种最简单方法是将节点的导数用差商代替,于是(4.1.1)的方程可近似写成(4.2.1)从出发,由(4.2.1)求得再将代入(4.2.1)右端,得到的近似,一般写成(4.2.2) 称为解初值问题的Euler法.Euler法的几何意义如图4-1所示.初值问题(4.1.1)的解曲线y=y(x)过点,从出发,以为斜率作一段直线,与直线交点于,显然有,再从出发,以为斜率作直线推进到上一点,其余类推,这样得到解曲线的一条近似曲线,它就是折线.Euler法也可利用的Taylor展开式得到,由(4.2.3) 略去余项,以,就得到近似计算公式(4.2.2).另外,还可对(4.1.1)的方程两端由到积分得(4.2.4)若右端积分用左矩形公式,用,,则得(4.2.2).如果在(4.2.4)的积分中用右矩形公式,则得(4.2.5)称为后退(隐式)Euler法.若在(4.2.4)的积分中用梯形公式,则得(4.2.6)称为梯形方法.上述三个公式(4.2.2),(4.2.5)及(4.2.6)都是由计算,这种只用前一步即可算出的公式称为单步法,其中(4.2.2)可由逐次求出的值,称为显式方法,而(4.2.5)及(4.2.6)右端含有当f对y非线性时它不能直接求出,此时应把它看作一个方程,求解,这类方法称为稳式方法.此时可将(4.2.5)或(4.2.6)写成不动点形式的方程这里对式(4.2.5)有,对(4.2.6)则,g与无关,可构造迭代法(4.2.7)由于对y满足条件(4.1.2),故有当或,迭代法(4.2.4)收敛到,因此只要步长h足够小,就可保证迭代(4.2.4)收敛.对后退Euler法(4.2.5),当时迭代收敛,对梯形法(4.2.6),当时迭代序列收敛.例4.1用Euler法、隐式Euler法、梯形法解取h=0.1,计算到x=0.5,并与精确解比较.解本题可直接用给出公式计算.由于,Euler法的计算公式为n=0时,.其余n=1,2,3,4的计算结果见表4-1.对隐式Euler法,计算公式为解出当n=0时,.其余n=1,2,3,4的计算结果见表4-1.表4-1 例4.1的三种方法及精确解的计算结果对梯形法,计算公式为解得当n=0时,.其余n=1,2,3,4的计算结果见表4-1.本题的精确解为,表4-1列出三种方法及精确解的计算结果.4.2.2 单步法的局部截断误差解初值问题(4.1.1)的单步法可表示为(4.2.8)其中与有关,称为增量函数,当含有时,是隐式单步法,如(4.2.5)及(4.2.6)均为隐式单步法,而当不含时,则为显式单步法,它表示为(4.2.9)如Euler法(4.2.2),.为讨论方便,我们只对显式单步法(4.2.9)给出局部截断误差概念.定义2.1设y(x)是初值问题(4.1.1)的精确解,记(4.2.10)称为显式单步法(4.2.9)在的局部截断误差.之所以称为局部截断误差,可理解为用公式(4.2.9)计算时,前面各步都没有误差,即,只考虑由计算到这一步的误差,此时由(4.2.10)有局部截断误差(4.2.10)实际上是将精确解代入(4.2.9)产生的公式误差,利用Taylor展开式可得到.例如对Euler法(4.2.2)有,故它表明Euler法(4.2.2)的局部截断误差为,称为局部截断误差主项.定义2.2 设是初值问题(4.1.1)的精确解,若显式单步法(4.2.9)的局部截断误差,是展开式的最大整数,称为单步法(4.2.9)的阶,含的项称为局部截断误差主项.根据定义,Euler法(4.2.2)中的=1故此方法为一阶方法.对隐式单步法(4.2.8)也可类似求其局部截断误差和阶,如对后退Euler法(4.2.5)有局部截断误差故此方法的局部截断误差主项为,也是一阶方法.对梯形法(4.2.6)同样有它的局部误差主项为,方法是二阶的.4.2.3 改进Euler法上述三种简单的单步法中,梯形法(4.2.6)为二阶方法,且局部截断误差最小,但方法是隐式的,计算要用迭代法.为避免迭代,可先用Euler法计算出的近似,将(4.2.6)改为(4.2.11)称为改进Euler法,它实际上是显式方法.即(4.2.12)右端已不含.可以证明,=2,故方法仍为二阶的,与梯形法一样,但用(4.2.11)计算不用迭代.例4.2用改进Euler法求例4.1的初值问题并与Euler法和梯形法比较误差的大小.解将改进Euler法用于例4.1的计算公式当n=0时,.其余结果见表4-2.表4-2 改进Euler法及三种方法的误差比较从表4-2中看到改进Euler法的误差数量级与梯形法大致相同,而比Euler法小得多,它优于Euler法.讲解:求初值问题(4.1.1)的数值解就是在假定初值问题解存在唯一的前提下在给定区间上的一组离散点上求解析解的一组近似为此先要建立求数值解的计算公式,通常称为差分公式,简单的单步法就是由计算下一步,构造差分公式有三种方法,一是用均差(即差商)近似,二是用等价的积分方程(4.2.4)用数值积分方法,三是用函数的Taylor展开,其中Taylor展开最有普遍性,可以得到任何数值解的计算公式及其局部截断误差。
计算公式是微分方程的一种近似,局部截断误差的概念就是刻划这种逼迫的好坏。
当为微分方程的解,即,而用,定义局部截断误差,它表示用精确解代入计算公式(4.2.9)产生的公式误差为越大表明公式逼近微分方程的精度越高,因此就定义为公式的阶,通常的公式才能用于计算初值问题(4.1.1)的数值解。
利用Taylor展开时,只要将的表达式在处展开成Taylor公式就可得到不同公式的局部截断误差。
如4.2.2所给出的Euler法。
后退Euler法和梯形法,它们只需用一元函数的Taylor展开,与后面4.5节的多步法完全一致,而通常单步法(4.2.9)的一般情况则需要用二元函数的Taylor展开,才能得到公式的具体形式和局部截断误差。
例如对改进Euler法,其局部截断误差由(4.2.12)可得要求出它的结果就要用到二元函数的Taylor展开,将在4.3节再作介绍。
4.3 Runge-Kutta方法4.3.1 显式 Runge-Kutta法的一般形式上节已给出与初值问题(4.1.1)等价的积分形式(4.3.1)只要对右端积分用不同的数值求积公式近似就可得到不同的求解初值问题(4.1.1)的数值方法,若用显式单步法(4.3.2)当,即数值求积用左矩形公式,它就是Euler法(4.2.2),方法只有一阶,若取(4.3.3)就是改进Euler法,这时数值求积公式是梯形公式的一种近似,计算时要用二个右端函数f的值,但方法是二阶的.若要得到更高阶的公式,则求积分时必须用更多的f值,根据数值积分公式,可将(4.3.1)右端积分表示为注意,右端f中还不能直接得到,需要像改进Euler法(4.2.11)一样,用前面已算得的f值表示为(4.3.3),一般情况可将(4.3.2)的表示为(4.3.4)其中这里均为待定常数,公式(4.3.2),(4.3.4)称为r级的显式Runge-Kutta法,简称R-K方法.它每步计算r个f值(即),而ki 由前面(i-1)个已算出的表示,故公式是显式的.例如当r=2时,公式可表示为(4.3.5)其中.改进Euler法(4.2.11)就是一个二级显式R-K方法.参数取不同的值,可得到不同公式.4.3.2 二、三级显式R-K方法对r=2的显式R-K方法(4.3.5),要求选择参数,使公式的阶p尽量高,由局部截断误差定义(4.3.6)令,对(4.3.6)式在处按Taylor公式展开,由于将上述结果代入(4.3.6)得要使公式(4.3.5)具有的阶p=2,即,必须(4.3.4)即由此三式求的解不唯一.因r=2,故,于是有解(4.3.8)它表明使(4.3.5)具有二阶的方法很多,只要都可得到二阶R-K方法.若取,则,则得改进Euler法(4.2.11),若取,则得,此时(4.3.5)为(4.3.9)其中称为中点公式.后退Euler法(4.2.11)及中点公式(4.3.9)是两个常用的二级R-K方法,注意二级R-K方法只能达到二阶,而不可能达到三阶.因为r=2只有4个参数,要达到p=3则在(4.3.6)的展开式中要增加3项,即增加三个方程.加上(4.3.4)的三个方程求4个待定参数是无解的.当然r=2,p=2的R-K方法(4.3.5)当取其他数时,也可得到其他公式,但系数较复杂,一般不再给出.对r=3的情形,要计算三个k值,即其中将按二元函数在处按Taylor公式展开,然后代入局部截断误差表达式,可得可得三阶方法,其系数应满足方程4.3.10)这是8个未知数6个方程的方程组,解也是不唯一的,通常.一种常见的三级三阶R-K方法是下面的Kutta三阶方法:(4.3.11)4.3.3 四阶R-K方法及步长的自动选择利用二元函数Taylor展开式可以确定(4.3.4)中r=4,p=4的R-K方法,经典的四阶R-K 方法是:(4.3.12)它的局部截断误差,故p=4,这是最常用的四阶R-K方法,数学库中都有用此方法求解初值问题的软件.这种方法的优点是精度较高,缺点是每步要算4个右端函数值,计算量较大.例4.3用经典四阶R-K方法解例4.1的初值问题,仍取h=0.1,计算到,并与改进Euler法、梯形法在处比较其误差大小.解用四阶R-K方法公式(4.3.12),此处,于是当n=0时于是,按公式(4.3.12)可算出此方法误差:改进Euler法误差:梯形法误差:可见四阶R-K方法的精度比二阶方法高得多.用四阶R-K方法求解初值问题(4.1.1)精度较高,但要从理论上给出误差的估计式则比较困难.那么应如何判断计算结果的精度以及如何选择合适的步长h?通常是通过不同步长在计算机上的计算结果近似估计.设在处的值,当时,的近似为,于是由四阶R-K方法有若以为步长,计算两步到,则有于是得即或(4.3.13)它给出了误差的近似估计.如果(ε为给定精度),则认为以为步长的计算结果满足精度要求,若,则还可放大步长.因此(4.3.13)提供了自动选择步长的方法.讲解:求初值问题(4.1.1)的单步法主要是指Runge-Kutta法,本节主要讨论显式R-K方法,建立具体的计算公式使用的是Taylor展开,形如(4.3.4)的显式R-K方法,当r=1时就是Euler法,因此只要讨论的计算公式,在r确定后如何推导公式都是一样的,只是r越大计算越复杂,为了掌握了解公式来源,只要以r=2为例推导计算公式即可。