微分方程2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常微分方程数值解法
§1 引言
§2 欧拉法和改良的欧拉法
§3 龙格-库塔法
§4 阿当姆斯方法
§1 引言
在高等数学里我们已经接触过常微分方程,对于一些典型的常微分方程,有求解析解的基本方法,但多数情况下,遇到的问题比较复杂,此时,只能利用近似方法求解,一般有两种近似方法。

实际求解的常微分方程,大多是定解问题┉┉满足指定条件的特解
本章讨论常微分方程,数值解的最简单问题┉┉一阶方程初值问题,即函数f(x)满足以下微分方程和初值条件:
在几何问题是(6-1)表现为一簇曲线,称(6-1)的积分曲线,初值问题(6-1) (6-2)就是要求一条过(x0 ,y0)的积分曲线
方程的精确解y(x)称为积分曲线。

方程是否有解,解是否唯一?
定理1 对初值问题(6-1)(6-2),假设f(x,y)在区域G={ a≤x≤b , |y|<∞}
内连续,且关于y满足李普希兹条件,即存在常数L,使|f(x , y1)-f(x , y2)| ≤L|y1-y2|〔6-3〕对G中任意两个y1,y2均成立,其中L是与x,y无关的常数,则初值问题(6-1)(6-2)在(a,b)内存在唯一解,且解是连续可微的。

设f(x,y)在带形区域R:{a≤x≤b,-∞<y<+∞}上为x,y的连续函数,且对任意的y 满足李普希茨(Libusize)条件
|f(x ,y1)-f(x ,y2)|≤L|y1-y2|
其中( x ,y1)、( x ,y2)∈R,L为正常数。

在求初值问题(6-1)(6-2)的数值解时,我们通常采用离散化方法,求在自变量x的离散点a=x0<x1<x2<…<xn=b
上的准确解y(x)的近似值
y0,y1,y2,…,yn
常取离散点x0,x1,x2,…,xn为等距,即
x i+1-xi =h,i=0,1,2,…,n-1
h称为步长。

图表示为初值问题(6―1) (6―2)在n+1个离散点上的准确解y(x)的近似值。

数值解法的重点不在于求准确解〔即解析解〕,而是直接求一系列点上的近似解。

初值问题〔〕(6.2)的数值解法的基本特点是:
求解过程顺着节点排列的顺序一步步向前推进,也即按递推公式由y0,y1…..yi推yi+1,下面各种方法的实质是建立递推公式。

§2 欧拉法和改良的欧拉法
2.几何意义
欧拉公式有很明显的几何意义。

我们知道初值问题(6.1) 中的微分方程的解是xoy平面上的一簇积分曲线,这簇积分曲线上任意点(x,y)的斜率为f(x,y),
而初值问题(6.1) (6.2)的解是过点(x0,y0)的一条特定的积分曲线。

y(x)过点P0(x0,y0),从P0出发以f(x0,y0)为斜率做一直线与直线x=x1交于点p1(x1,y1),显然有:y1=y0+hf(x0,y0),再从p1出发,以f(x1,y1)为斜率做一直线推进到x=x2上一点p2(x2,y2),依此类推,这样得到解曲线的一条近似曲线,它就是折线p0p1p2……所以欧拉方法又叫欧拉折线法
欧拉法是用yi通过
yi+1=y i + hf(x i ,y i) i=0,1,……
求yi+1,这样利用
y0┅>y1┅>y2┅……
计算yi+1用前一步的y i┅┅单步法
计算yi+1用前几步的{yi-n}┉┉多步法
二、欧拉方法的误差分析
定义1(p146) 对于初值问题,当假设yi 是准确的时,用某种方法求yi+1时所产生的截断误差称为该方法的局部截断误差 。

我们来看在第i+1步使用欧拉方法所得yi+1的局部截断误差y(xi+1)-yi+1 假定yi 是准确的,即yi=y(xi)
由y(xi+1)=y(xi+h),应用泰勒展开
y(xi+1)=y(xi+h) =y(xi)+hy ′(xi)+y ″(ξ)/2*h2 而由欧拉公式算出yi+1=yi+hf(xi,yi)= y(xi)+hf(xi,y(xi))=y(xi)+hy ′(xi)
y(xi+1)=y(xi+h)= y(xi) + hy ′(xi) + y ″(ξ)/2*h2
yi+1=yi+hf(xi,yi)=y(xi) + hf(xi,y(xi)) = y(xi) + hy ′(xi) 两式相减得
y(xi+1)-yi+1=(h2/2)* y ″(ζ)=O(h2)
即欧拉方法所得yi+1的局部截断误差为O(h2)
称为局部截断误差的主项 注意:只计算了一步,事实上每一步都有可能产生误差,有时误差会原来越大,有时又会得到很好的控制,因此还要考虑整体截断误差。

)
(''2
2
y h
定义2
设yi 是用某种方法计算初值问题(6-1)(6-2)在xi 点的近似解,而y(xi)是它的精确解,则称 为该方法的整体截断误差,也称为该方法的精度。

补:假设某方法的局部截断误差为O(hp+1),则该方法的精度为p 阶的。

欧拉方法的精度为O(h),一阶的。

三、改良的欧拉法
欧拉法虽然形式简单,计算方便,但比较粗糙,精度也低。

特别当y=y(x)的曲线曲率较大时,欧拉法的效果更差。

为了构造较高精度的数值解法,对初值问题
再做分析
i
i i y x y -=)(ε⎩⎨
⎧==0
0)()
,('y x y y x f y
一般来说,这是一个非线性方程〔除非f对y是线性的〕,可用我们前面讲过的非线性方程的各种方法求解,比方用迭代法
四、预报-校正方法
我们看到梯形法虽然提高了精度,但其算法复杂,每算一点,都需进行反复迭代,为了控制计算量,通常只迭代一两次就转入下一步计算,以简化算法。

具体地说,我们先用欧拉公式求一个初步的近似值
预报-校正公式的截断误差为O(h3) 〔证明,p150) 预报-校正公式的整体截断误差为O(h2)
预报-校正公式是单步显式
§3 龙格库塔法
假设用这种方法研究欧拉公式,可以发现欧拉公式仅取一个点(xi,yi)的斜率f(xi,yi)代替k*,梯形公式却是利用xi与xi+1两个点的斜率值
它也启发我们假设设法在[xi,xi+1]上多找几个点的斜率值,然后将它们加权平均作为K*的近似值,则有可能构造出精度更高的计算公式,这就是Runge-Kutta方法的基本思想。


j
j
i
j
i
r
j
j
h
y
h
x
f
K
ω
β
α
ω)
,
(
1
*+
+
≈∑
=
二、Runge-Kutta 公式
我们以两点xi ,xi+p=xi+αh 为例,说明(6-14)式中系数的求法
其中ω1,ω2,α,β为待定参数
⎪⎩

⎨⎧++==++=+),()
,(12122111k y h x hf k y x hf k k k y y i i i i i i βαωω
对积分式分别采用矩形和梯形面积公式
可得到欧拉公式和改良欧拉公式(梯形法),截断误差分别为O(h2)和O(h3)。

假设追溯到数值积分原理,梯形法则实际上是用节点x i和x i+1 的线性插值函数代替f(x,y) 而得到的。

为此,我们自然可以想到,假设用更高次的插值多项式来代替f(x,y),则所得公式的精度会更高。

---------------这就是线性多步法的起源思想。

相关文档
最新文档