欧拉法与龙格库塔法比较分析

解微分方程的欧拉法,龙格-库塔法简单实例比较

欧拉方法(Euler method)用以对给定初值的常微分方程(即初值问题)求解分为前EULER法、后退EULER法、改进的EULER法。 缺点:

欧拉法简单地取切线的端点作为下一步的起点进行计算,当步数增多时,误差会因积累而越来越大。因此欧拉格式一般不用于实际计算。

改进欧拉格式(向前欧拉公式):

为提高精度,需要在欧拉格式的基础上进行改进。采用区间两端的斜率的平均值作为直线方程的斜率。改进欧拉法的精度为二阶。 算法:

微分方程的本质特征是方程中含有导数项,数值解法的第一步就是设法消除其导数值。对于常微分方程:

dy

f(x,y) x[a,b] dx

y(a)y0

可以将区间[a,b]分成n段,那么方程在第xi点有y'(xi)f(xi,y(xi)),再用向前差商近似代替导数则为:

(y(xi1)y(xi))

f(xi,y(xi))

h

在这里,h是步长,即相邻两个结点间的距离。因此可以根据xi点和yi的数值计算出yi1来:

yi1yihf(xi,yi)i0,1,2,L

这就是向前欧拉公式。

改进的欧拉公式:

将向前欧拉公式中的导数f(xi,yi)改为微元两端导数的平均,即上式便是梯形的欧拉公式。

可见,上式是隐式格式,需要迭代求解。为了便于求解,使用改进的欧拉公式: 数值分析中,龙格-库塔法(Runge-Kutta)是用于模拟常微分方程的解的重要的一类隐式或显式迭代法。实际上,龙格-库塔法是欧拉方法的一种推广,向前欧拉公式将导数项简单取为f(xn,yn),而改进的欧拉公式将导数项取为两端导数的平均。

龙格-库塔方法的基本思想:

在区间[xn,xn1]内多取几个点,将他们的斜率加权平均,作为导数的近似。 龙格库塔法的家族中的一个成员如此常用,以至于经常被称为“RK4”或者就是“龙格库塔法”。

令初值问题表述如下。

y'f(t,y)y(t0)y0

则,对于该问题的RK4由如下方程给出:

h

yn1yn(k12k22k3k4)

6

其中

k1f(tn,yn)

hh

k2f(tn,ynk1)

22

hh

k3f(tn,ynk2)

22

k4f(tnh,ynhk3)

这样,下一个值yn1由现在的值yn加上时间间隔h和一个估算的斜率的乘积决定。该斜率是以下斜率的加权平均: k1是时间段开始时的斜率;

k2是时间段中点的斜率,通过欧拉法采用斜率k1来决定y在点tn值;

k3也是中点的斜率,但是这次采用斜率k2决定y值; k4是时间段终点的斜率,其y值用k3决定。 当四个斜率取平均时,中点的斜率有更大的权值:

h的2

k12k22k3k4

slope

6

5

RK4法是四阶方法,也就是说每步的误差是h阶,而总积累误差为h阶。注意上述公式对于标量或者向量函数(y可以是向量)都适用。

4

例子:h0.2;x0:h:4

下面给出了数值求解该微分方程的简单程序。 其中

y1,y2,y3,y4分别为向前欧拉公式,改进的欧拉公式,4级4阶龙格-库塔

公式及精确解。

结果分析:

图1中显示在x2时,3种算法与精确值较接近,即误差不大,但当x继续增加时则4级4阶龙格库塔法较精确,但也有一定限度,当x3.5时,计算值与精确值得差别将越来越大。从图2中可以清楚的看到这一结果,其中'y1'y4y1,

'y2'y4y2,'y3'y4y3。

1

2

1

2

瑞刷 http://www.jingyuhuatong.com/ Ytv4f988JQod

解微分方程的欧拉法,龙格-库塔法简单实例比较

欧拉方法(Euler method)用以对给定初值的常微分方程(即初值问题)求解分为前EULER法、后退EULER法、改进的EULER法。 缺点:

欧拉法简单地取切线的端点作为下一步的起点进行计算,当步数增多时,误差会因积累而越来越大。因此欧拉格式一般不用于实际计算。

改进欧拉格式(向前欧拉公式):

为提高精度,需要在欧拉格式的基础上进行改进。采用区间两端的斜率的平均值作为直线方程的斜率。改进欧拉法的精度为二阶。 算法:

微分方程的本质特征是方程中含有导数项,数值解法的第一步就是设法消除其导数值。对于常微分方程:

dy

f(x,y) x[a,b] dx

y(a)y0

可以将区间[a,b]分成n段,那么方程在第xi点有y'(xi)f(xi,y(xi)),再用向前差商近似代替导数则为:

(y(xi1)y(xi))

f(xi,y(xi))

h

在这里,h是步长,即相邻两个结点间的距离。因此可以根据xi点和yi的数值计算出yi1来:

yi1yihf(xi,yi)i0,1,2,L

这就是向前欧拉公式。

改进的欧拉公式:

将向前欧拉公式中的导数f(xi,yi)改为微元两端导数的平均,即上式便是梯形的欧拉公式。

可见,上式是隐式格式,需要迭代求解。为了便于求解,使用改进的欧拉公式: 数值分析中,龙格-库塔法(Runge-Kutta)是用于模拟常微分方程的解的重要的一类隐式或显式迭代法。实际上,龙格-库塔法是欧拉方法的一种推广,向前欧拉公式将导数项简单取为f(xn,yn),而改进的欧拉公式将导数项取为两端导数的平均。

龙格-库塔方法的基本思想:

在区间[xn,xn1]内多取几个点,将他们的斜率加权平均,作为导数的近似。 龙格库塔法的家族中的一个成员如此常用,以至于经常被称为“RK4”或者就是“龙格库塔法”。

令初值问题表述如下。

y'f(t,y)y(t0)y0

则,对于该问题的RK4由如下方程给出:

h

yn1yn(k12k22k3k4)

6

其中

k1f(tn,yn)

hh

k2f(tn,ynk1)

22

hh

k3f(tn,ynk2)

22

k4f(tnh,ynhk3)

这样,下一个值yn1由现在的值yn加上时间间隔h和一个估算的斜率的乘积决定。该斜率是以下斜率的加权平均: k1是时间段开始时的斜率;

k2是时间段中点的斜率,通过欧拉法采用斜率k1来决定y在点tn值;

k3也是中点的斜率,但是这次采用斜率k2决定y值; k4是时间段终点的斜率,其y值用k3决定。 当四个斜率取平均时,中点的斜率有更大的权值:

h的2

k12k22k3k4

slope

6

5

RK4法是四阶方法,也就是说每步的误差是h阶,而总积累误差为h阶。注意上述公式对于标量或者向量函数(y可以是向量)都适用。

4

例子:h0.2;x0:h:4

下面给出了数值求解该微分方程的简单程序。 其中

y1,y2,y3,y4分别为向前欧拉公式,改进的欧拉公式,4级4阶龙格-库塔

公式及精确解。

结果分析:

图1中显示在x2时,3种算法与精确值较接近,即误差不大,但当x继续增加时则4级4阶龙格库塔法较精确,但也有一定限度,当x3.5时,计算值与精确值得差别将越来越大。从图2中可以清楚的看到这一结果,其中'y1'y4y1,

'y2'y4y2,'y3'y4y3。

1

2

1

2

瑞刷 http://www.jingyuhuatong.com/ Ytv4f988JQod


相关文章

  • 多种微分方程数值计算方法分析
  • 2010年8月 第4期 城 市 勘 测 Urban Geotechnical Investigation& Surveying Aug. 2010 No. 4 文章编号:1672-8262(2010)04-117-03中图分类号:O ...查看


  • 微分方程求解数值方法
  • 重庆三峡学院数值计算方法实验课测验 微分方程求解的后退欧拉法(后退梯形法).龙格库塔 法(三阶.四阶公式) 院 系 数学与统计学院 专 业 信息与计算科学 姓 名 庞欢 年 级 2009级 学 号 [1**********]2 指导教师 刘 ...查看


  • 数值分析Matlab作业龙格库塔欧拉方法解二阶微分方程
  • Matlab 应用 使用Euler和Rungkutta方法解臂状摆的能量方程 背景 单摆是常见的物理模型,为了得到摆角θ的关于时间的函数,来描述单 摆运动.由角动量定理我们知道 M=Jε 化简得到 dθg +sinθ=02 dtl 在一般的 ...查看


  • 悬崖跳水水池深度问题
  • 悬崖跳水水池深度问题 摘 要 本文探讨悬崖跳水水池深度设定问题,以实现水池深度设定既保证运动员人身安全且使成本消耗最低为目标.对此问题,将建立物理模型,运用物理学.流体力学知识,结合微分方程进行求解. 对于问题一,本文将建立物理模型,将跳水 ...查看


  • 数值分析习题大作业
  • 一. [设计题一] .............................................................................................................. ...查看


  • 实验四 常微分方程初值问题数值解法
  • 实 验 报 告 课程名称 数值分析 实验项目 常微分方程问题初值问题数值解法 一. 实验目的 1.理解如何在计算机上实现用Euler 法.改进Euler 法.Runge -Kutta 算法求一阶常微分方程初值问题 ⎧y '(x ) =f ( ...查看


  • 算法大全第15章常微分方程的解法
  • 第十五章 常微分方程的解法 建立微分方程只是解决问题的第一步,通常需要求出方程的解来说明实际现象,并加以检验.如果能得到解析形式的解固然是便于分析和应用的,但是我们知道,只有线性常系数微分方程,并且自由项是某些特殊类型的函数时,才可以肯定得 ...查看


  • 电力系统稳定计算软件的开发
  • 电力系统稳定计算软件的开发 摘要 随着世界各国的电力系统发展的越来越庞大,电力系统的运行也随之越来越复杂,系统中发生的事故越来越难以用传统的分析方法预测,对电力系统仿真技术提出了更高的要求.目前,国际上有多种电力系统分析软件,在各国的电力系 ...查看


  • 现代电力系统分析整理提纲
  • 第一章 现代电力系统的主要特点, 电网互联的优点及带来的问题, 电力系统的运行状态及运行状态带来的好处.电力系统分析概述. 第二章 电力网络的基本概念 结点电压方程,关联矩阵, 用关联矩阵与支路参数确定结点电压方程, 流站,及其控制方式) ...查看


热门内容