logo资料库

龙格库塔法推导过程.pdf

第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
资料共31页,剩余部分请下载后查看
Slide Number 1
Slide Number 2
Slide Number 3
Slide Number 4
Slide Number 5
Slide Number 6
Slide Number 7
Slide Number 8
Slide Number 9
Slide Number 10
Slide Number 11
Slide Number 12
Slide Number 13
Slide Number 14
Slide Number 15
Slide Number 16
Slide Number 17
Slide Number 18
Slide Number 19
Slide Number 20
Slide Number 21
Slide Number 22
Slide Number 23
Slide Number 24
Slide Number 25
Slide Number 26
Slide Number 27
Slide Number 28
Slide Number 29
Slide Number 30
Slide Number 31
§ 9.4 龙格-库塔方法 得到高精度方法的一个直接想法是利用Taylor展开 假设式 y' =f(x,y) (a≤x≤b) 中的 f(x,y) 充分光滑,将y(xi+1)在x i点作Taylor展开,若 取右端不同的有限项作为y(xi+1)的近似值,就可得到 计算y(xi+1)的各种不同截断误差的数值公式。 例如:取前两项可得到 xy ( xy ( i y + ′ hO xyh ) ) ( ( + hO xyxhf ) ( ( )) ( + + i i 2 yxhf hO ( ) ( , + i , ) ) =+ 1 = = xy ( i 2 ) ) + i 2 2014/9/2 1 i i i
若取前三项,可得到截断误差为O(h3)的公式 xy ( i ) =+ 1 = 2 xyh ′′ ( 2 i ) + hO ( 3 ) ) + i + ′ xyh ( ) yxhf , ( i i ) + ] 类似地,若取前P+1项作为y(xi+1)的近似值,便得到 yxf , ′+ ( yx , i yx , i ′ x ′ y ) ( ) ) f ( f i i i i + hO ( 3 ) xy ( y i 2 h 2 i + [ y =+ 1 i y i + 其中 y y =′ i =′′′ i =′′ yf , i +′ f ff ( x 2014/9/2 L yh +′′ i +′ i 2 yh !2 +′=′ yxf , ( ) x i +′′=′′ f f ) xy f x f 2 xx i + ff ′ y ′′+′′ f xy yy P h P ! P ) y ( i P阶泰勒方法 2 f ′+ f x f +′ y ( f ′ y ) 2 f 2
显然p=1时, y i+1=y i+hf(xi,y i) 它即为我们熟悉的Euler方法。 当p≥2时,要利用泰勒方法就需要计算f(x,y)的高 阶微商。这个计算量是很大的,尤其当f(x,y)较复 杂时,其高阶导数会很复杂。因此,利用泰勒公 式构造高阶公式是不实用的。但是泰勒级数展开 法的基本思想是许多数值方法的基础。 R-K方法不是直接使用Taylor级数,而是利用它的思想 2014/9/2 3
Runge-Kutta 方法是一种高精度的单步法,简称R-K法 9.4.1 龙格-库塔(R-K)法的基本思想 Euler公式可改写成 y i K    =+ 1 = Ky i yxhf ( i + , i ) 则yi+1的表达式与y(xi+1)的Taylor展开式的前两项 完全相同,即局部截断误差为O(h2)。 2014/9/2 4
同理,改进Euler公式可改写成 y i K 1 K 2 =+ 1 = = + 1 2 yxhf i i xhf + i y i ( ( ,         K 1 + 1 2 K 2 ) Kyh 1 + , i 局部截断误差为O(h3) ) 上述两组公式在形式上共同点:都是用f(x,y)在某 些点上值的线性组合得出y(xi+1)的近似值yi+1, 且增 加计算的次数f(x,y)的次数,可提高截断误差的阶。如 欧拉法:每步计算一次f(x,y)的值,为一阶方法。改进 欧拉法需计算两次f(x,y)的值,为二阶方法。 2014/9/2 5
于是可考虑用函数f(x,y)在若干点上的函数值的 线性组合来构造近似公式,构造时要求近似公式在 (xi,yi)处的Taylor展开式与解y(x)在xi处的Taylor展开式 的前面几项重合,从而使近似公式达到所需要的阶数。 既避免求高阶导数,又提高了计算方法精度的阶数。 或者说,在[xi,xi+1]这一步内多计算几个点的斜率值, 然后将其进行加权平均作为平均斜率,则可构造出更 高精度的计算格式,这就是龙格—库塔(Runge- Kutta)法的基本思想。 2014/9/2 6
一般龙格-库塔方法的形式为 L + + + + 2 Kc p p 2 y y KcKc = i i 11 1 + K yxhf ( , ) = i i 1 K xhf yha ( , + + = i i 2 2 LLLLLL  K yha , + p i p xhf ( i + =          Kb 21 1 ) Kb p 11 + L + b pp , 1 − K ) p 1 − 称为P阶龙格-库塔方法。 其中ai,bij,ci为待定参数,要求上式yi+1在点(xi,yi)处作 Tailor展开,通过相同项的系数确定参数。 2014/9/2 7
Runge-Kutta方法的推导思想 对于常微分方程的初值问题    =′ y )( ay ),( yxf y = 0 a ≤≤ bx 的解y=y(x),在区间[xi, xi+1]上使用微分中值定理,有 xy ( ) − xy ( i ) ′= y ( ξ i )( x i 1 + − x i ) i 1 + xxξ其中 ∈ ( i , i 即 2014/9/2 i ) 1+ xy ( =+ 1 ) i xy ( i ) + yh ξ′ ( i ) 8
分享到:
收藏