-常微分方程数值解法欧拉法

合集下载

数值计算实验报告-欧拉法常微分方程

数值计算实验报告-欧拉法常微分方程

数学与计算科学学院实验报告实验项目名称欧拉法解常微分方程所属课程名称数值计算实验类型验证型实验日期2012-6- 4班级隧道1002班学号201008020233姓名李彬彬成绩一、实验概述:【实验目的】 通过运用相关的数值计算软件,解决最基本的常微分方程的数值计算,并且能够熟练的运用这种方法。

【实验原理】 欧拉法1.对常微分方程初始问题(9.2))((9.1)),(00⎪⎩⎪⎨⎧==y x y y x f dxdy用数值方法求解时,我们总是认为(9.1)、(9.2)的解存在且唯一。

欧拉法是解初值问题的最简单的数值方法。

从(9.2)式由于y (x 0) = y 0已给定,因而可以算出),()('000y x f x y =设x 1 = h 充分小,则近似地有:),()(')()(00001y x f x y hx y x y =≈-(9.3)记 ,n ,,i x y y i i 10 )(== 从而我们可以取),(0001y x hf y y ==作为y (x 1)的近似值。

利用y 1及f (x 1, y 1)又可以算出y (x 2)的近似值:),(1112y x hf y y +=一般地,在任意点x n +1 = (n + 1)h 处y (x )的近似值由下式给出),(1n n n n y x hf y y +=+(9.4)这就是欧拉法的计算公式,h 称为步长。

不难看出,近似解的误差首先是由差商近似代替微商(见(9.3))引起的,这种近似代替所产生的误差称为截断误差。

还有一种误差称为舍入误差,这种误差是由于利用(9.4)进行计算时数值舍入引起的。

【实验环境】Windows XP 环境下运行 NumericalAnalyse 软件二、实验内容:【实验方案】在区间[0,1]上以h=0.1为步长,分别用欧拉法与预估-校正法求初值问题y’=y-2x/y且 y|x=0 =1的数值解。

将上述方程输入到软件NumericalAnalyse中步骤如图选择常微分方程的数值解法。

常微分方程数值解法-欧拉法、改进欧拉法与四阶龙格库塔法常微分方程数值解法

常微分方程数值解法-欧拉法、改进欧拉法与四阶龙格库塔法常微分方程数值解法

y( xn1)
y( xn
Байду номын сангаас
h)
y(xn )
hy'( xn )
h2 2!
y''( )
进一步: 令
h2 y( xn ) hy'( xn ) 2! y''( xn )
常微分方 yn1 y( xn1 ) , yn y( xn )
程数值解
法-欧拉法 yn1 yn hf ( xn , yn ) h2
、改进欧 y( xn1 ) yn1
2
max y''( x)
a xb
拉法和四
三、Euler方法
已 知 初 值 问 题 的 一 般 形式 为:
dy
dx
f (x, y)
a xb
(1)
y( x0 ) y0
常微分方 用差商近似导数 程数值解 问题转化为
yn1 yn dy
h
dx
法-欧拉法 yn1 yn hf ( xn , yn )
法-欧 y(拉0) 法1
、改进欧
拉法和四
四、几何意义
由 x0 , y0 出发取解曲线 y yx 的切线(存在!),则斜率
dy
f x0, y0
dx x y
,
0
0
常微分方 由于 f x0, y0 及 x0, y0 已知,必有切线方程。
由点斜式写出切程线方数程:值解
法、-改欧进拉欧法 ddxy y y0 x x0
常微分方 程数值解 能用解析方法求出精确解的微分方程为数不多,
而且有的方程即使有解析解,也可能由于解的表达
法-欧拉法 式非常复杂而不易计算,因此有必要研究微分方程

第七章常微分方程数值解法

第七章常微分方程数值解法

h2 h3 y ( xi 1 ) y ( xi h) y ( xi ) hy '( xi ) y ''( xi ) y '''( xi ) 2! 3!
丢掉高阶项,有
y( xi 1 ) y( xi h) y( xi ) hy '( xi ) yi hf ( xi , yi )
| f ( x, y1 ) f ( x, y2 ) | L | y1 y2 | ,
那么模型问题在 [ a, b] 存在唯一解。
Lipschitz 连续: | f ( x, y1 ) f ( x, y2 ) | L | y1 y2 | .
(1) 比连续性强: y1 y2 可推出 f ( x, y1 ) f ( x, y2 ) ; (2) 比连续的 1 阶导弱:具有连续的 1 阶导,则
f | f ( x, y1 ) f ( x, y2 ) || ( ) || y1 y2 | L | y1 y2 | . y
常微分方程数值解法
目标:计算出解析解 y ( x) 在一系列节点 a x0 x1 xn1 xn b 处的近似值 yi y( xi ) ,即所谓的数值解。节点间距 hi xi 1 xi ,一般 取为等距节点。
常微分方程初值问题的数值解法一般分为两大类: (1)单步法:在计算 yn 1 时,只用到前一步的值,即用到 xn1 , xn , yn ,则给定初
值之后,就可逐步计算。例如 Euler 法、向后欧拉法、梯形公式、龙格-库塔法;
(2) 多步法: 这 类 方 法 在 计算 yn 1 时 , 除 了 用 到 xn1 , xn , yn 外 , 还 要 用到

常微分方程数值解法欧拉法

常微分方程数值解法欧拉法

)
f ( xn1, yn1)
hL
y(k ) n 1
yn1
L
hL
k 1
y(0) n 1
yn1
Q
hL 1,
y (k 1) n 1
yn1 (k
)
在迭代公式中取极限,有
yn1 yn h f ( xn1, yn1 ) 因此yn(k1)的极限就是隐式方程的解
几何意义
y
设已知曲线上一点 Pn (xn , yn ),过该 点作弦线,斜率为(xn+1 , yn +1 ) 点的 方向场f(x,y)方向,若步长h充分小, 可用弦线和垂线x=xn+1的交点近似 曲线与垂线的交点。
式。隐式公式不能直接求解,一般需要用Euler显式公式
得到初值,然后用Euler隐式公式迭代求解。因此隐式公
式较显式公式计算复杂,但稳定性好
y0 n1
yn
h
y(k 1) n1
yn
h
f (xn , yn )
f
( xn1 ,
y(k) n1
)
收敛性
y (k 1) n 1
yn1
h
f
( xn1,
y(k ) n 1
如何求解
解析解法:(常微分方程理论)
只能求解极少一类常微分方程;实际中给定的问题不一 定是解析表达式,而是函数表,无法用解析解法。
数值解法: 求解所有的常微分方程
计算解函数 y(x) 在一系列节点 a = x0< x1<…< xn= b
处的近似值 yi y( xi ) (i 1, ... , n)
y(xn1) y(xn ) hy(xn ) y(xn ) yn
y(xn1) yn1 yn h f (xn , yn )

常微分方程中的数值方法

常微分方程中的数值方法

常微分方程中的数值方法常微分方程是数学中的一个重要分支。

它主要研究的对象是随时间变化的函数。

在实际应用中,我们需要求解这些函数的解析解,但通常情况下,解析解并不容易得到,甚至是不可能得到。

因此,我们需要使用数值方法来求解这些函数的数值近似解。

在本文中,我们将介绍常微分方程中的数值方法。

一、欧拉法欧拉法是常微分方程数值解法中最基本的一种方法。

它是根据欧拉公式推导而来的。

具体地,我们可以将一阶常微分方程dy/dt=f(t,y)写成如下形式:y(t+h)=y(t)+hf(t,y(t))其中,h是步长,f(t,y)是t时刻y的导数。

欧拉法就是通过上面的公式进行逐步逼近,然后得到最终的数值解。

欧拉法的计算过程非常简单,但所得到的解可能会出现误差。

这是因为欧拉法忽略了f(t+h,y(t+h))和f(t,y(t))之间的变化。

因此,我们需要使用更为精确的数值方法来解决这个问题。

二、改进欧拉法为了解决欧拉法中的误差问题,我们可以使用改进欧拉法。

改进欧拉法又称作四阶龙格-库塔法。

它的基本思想是对欧拉法公式进行改进,以提高计算精度。

具体地,根据龙格-库塔公式,可将改进欧拉法表示为:y(t+h)=y(t)+1/6(k1+2k2+2k3+k4)其中,k1=h*f(t,y)k2=h*f(t+h/2,y+k1/2)k3=h*f(t+h/2,y+k2/2)k4=h*f(t+h,y+k3)改进欧拉法的计算过程比欧拉法要复杂些,但所得到的数值解比欧拉法更精确。

这种方法适用于一些特殊的问题,但在求解一些更为复杂的问题时,还需要使用其他的数值方法。

三、龙格-库塔法龙格-库塔法是求解常微分方程中数值解的常用方法之一。

它最常用的是四阶龙格-库塔法。

这种方法的基本思想是使用四个不同的斜率来计算数值解。

具体地,我们可以将四阶龙格-库塔法表示为:y(t+h)=y(t)+1/6(k1+2k2+2k3+k4)其中,k1=h*f(t,y)k2=h*f(t+h/2,y+k1/2)k3=h*f(t+h/2,y+k2/2)k4=h*f(t+h,y+k3)与改进欧拉法相比,龙格-库塔法的计算复杂度更高,但所得到的数值解更为精确。

数值计算中的常微分方程数值模拟

数值计算中的常微分方程数值模拟

数值计算中的常微分方程数值模拟在数值计算中,常微分方程(Ordinary Differential Equations,简称ODE)是一个重要的研究对象。

常微分方程的数值模拟是通过数值方法对其进行近似求解的过程,该过程对于模拟物理系统、生物学过程以及工程问题等具有重要意义。

本文将介绍常微分方程数值模拟的几种常用方法,并分析其特点与应用。

一、欧拉法(Euler's Method)欧拉法是最简单的常微分方程数值模拟方法之一,其基本思想是将连续的微分方程进行离散化,使用一阶差分近似代替微分。

具体步骤如下:1. 建立微分方程:设待求解的微分方程为dy/dx = f(x, y),其中f(x, y)为已知函数。

2. 初始化:选择初始条件y0 = y(x0),以及离散步长h。

3. 迭代求解:根据欧拉法的迭代公式yn+1 = yn + h * f(xn, yn)进行近似求解。

欧拉法的优点是简单易实现,但在处理复杂问题和大步长时存在精度较低的问题。

二、改进的欧拉法(Improved Euler's Method)为了提高欧拉法的精度,改进的欧拉法在迭代过程中使用两个不同的斜率近似值,从而对解进行更准确的预测并修正。

具体步骤如下:1. 建立微分方程:同欧拉法。

2. 初始化:同欧拉法。

3. 迭代求解:根据改进的欧拉法的迭代公式yn+1 = yn + h * (k1 +k2)/2进行近似求解,其中k1 = f(xn, yn),k2 = f(xn + h, yn + h * k1)。

改进的欧拉法在精度上优于欧拉法,但仍然不适用于高精度要求的问题。

三、龙格-库塔法(Runge-Kutta Methods)龙格-库塔法是一类常微分方程数值模拟方法,通过计算多个不同次数的斜率来逼近解。

其中,四阶龙格-库塔方法是最常用的一种方法。

具体步骤如下:1. 建立微分方程:同欧拉法。

2. 初始化:同欧拉法。

3. 迭代求解:根据四阶龙格-库塔方法的迭代公式yn+1 = yn + h * (k1 + 2k2 + 2k3 + k4)/6进行近似求解,其中k1 = f(xn, yn),k2 = f(xn + h/2, yn + h/2 * k1),k3 = f(xn + h/2, yn + h/2 * k2),k4 = f(xn + h, yn + h * k3)。

常微分方程的数值解法与实际应用研究

常微分方程的数值解法与实际应用研究

常微分方程的数值解法与实际应用研究引言:常微分方程是数学中一种重要的数学工具,广泛应用于物理、经济、生物等领域的实际问题的数学建模。

在解析求解常微分方程存在困难或不可行的情况下,数值解法提供了一种有效的求解方法,并被广泛应用于实际问题的研究中。

本文将介绍常微分方程的数值解法以及一些实际应用的研究案例。

一、常微分方程的数值解法:1. 欧拉法:欧拉法是一种基础的数值解法,通过将微分方程离散化,近似得到方程的数值解。

欧拉法的基本思想是根据微分方程的导数信息进行近似计算,通过逐步迭代来逼近真实解。

但是欧拉法存在截断误差较大、收敛性较慢等问题。

2. 改进的欧拉法(改进欧拉法推导过程略):为了解决欧拉法的问题,改进的欧拉法引入了更多的导数信息,改善了截断误差,并提高了算法的收敛速度。

改进欧拉法是一种相对简单而可靠的数值解法。

3. 四阶龙格-库塔法:四阶龙格-库塔法是常微分方程数值解法中最常用和最经典的一种方法。

通过多次迭代,四阶龙格-库塔法可以获得非常精确的数值解,具有较高的精度和稳定性。

二、常微分方程数值解法的实际应用研究:1. 建筑物的结构动力学分析:建筑物的结构动力学分析需要求解一些动力学常微分方程,例如考虑结构的振动和应力响应。

利用数值解法可以更好地模拟建筑物的振动情况,并对其结构进行安全性评估。

2. 生态系统模型分析:生态系统模型通常包含一系列描述物种数量和相互作用的微分方程。

数值解法可以提供对生态系统不同时间点上物种数量和相互作用的变化情况的模拟和预测。

这对于环境保护、物种保护以及生态系统可持续发展方面具有重要意义。

3. 电路模拟与分析:电路模拟与分析通常涉及电路中的电容、电感和电阻等元件,这些元件可以通过常微分方程进行建模。

数值解法可以提供电路中电压、电流等关键参数的模拟和分析,对电路设计和故障诊断具有重要帮助。

4. 化学反应动力学研究:化学反应动力学研究需要求解涉及反应速率、物质浓度等的微分方程。

数值分析25_第九章常微分方程数值法9。19。2欧拉法

数值分析25_第九章常微分方程数值法9。19。2欧拉法
h2 y xn O h 3 O h 2 2


所以隐式Euler方法也是一种一阶方法,该方法的局部截断误差的主项 h2 为 yxn ,仅与显式Euler方法的局部截断误差的主项反一个符号。 2 梯形方法也是一种隐式单步法,类似可得其局部截断误差
h Rn,h y xn 1 y xn f xn,y xn f xn 1,y xn 1 2
n 1

对于隐式公式,通常采用预估-校正技术,即先用显式公式计算,得到
预估值,然后以预估值作为隐式公式的迭代初值,用隐式公式迭代一次得 到 校正值,称为预估-校正技术。例如,用显式Euler公式作预估,用梯形公式 作校正,即
0
yn 1 yn hf xn,yn ,
h 0 yn 1 yn f xn,yn f xn 1,yn 1 ,n 0,。 1, 2

x0 处的初值 y0 开始,按(2)可逐步计算以后各点上的值。称 (2)式为显式Euler。由于(3)式的右端隐含有待求函数值 yn 1 ,
不能逐步显式计算,称(3 )式为隐式Euler公式或后退Euler公式。如果
将(2)和(3)两式作算术平均,就得梯形公式。
华长生制作 8
yn 1 yn
解 本题有 并代入h=0.1得
f ( x,y) x y 1,y0 1。如果用Euler方法,由(2)
yn1 yn hf ( xn , yn ) yn 0.1( xn yn 1) 0.1xn 0.9 yn 0.1
同理,用隐式Euler方法有 yn 1 yn hf xn 1 , yn 1 yn 0.1 xn 1 yn 1 1 yn 0.1xn 1 0.1yn 1 0.1

常微分方程组数值解法

常微分方程组数值解法

常微分方程组数值解法一、引言常微分方程组是数学中的一个重要分支,它在物理、工程、生物等领域都有广泛应用。

对于一些复杂的常微分方程组,往往难以通过解析方法求解,这时候数值解法就显得尤为重要。

本文将介绍常微分方程组数值解法的相关内容。

二、数值解法的基本思想1.欧拉法欧拉法是最基础的数值解法之一,它的思想是将时间连续化,将微分方程转化为差分方程。

对于一个一阶常微分方程y'=f(x,y),其欧拉公式为:y_{n+1}=y_n+hf(x_n,y_n)其中h为步长,x_n和y_n为第n个时间点上x和y的取值。

2.改进欧拉法改进欧拉法是对欧拉法的改良,其公式如下:y_{n+1}=y_n+\frac{h}{2}[f(x_n,y_n)+f(x_{n+1},y_n+hf(x_n,y_n))] 3.四阶龙格-库塔方法四阶龙格-库塔方法是目前最常用的数值解法之一。

其公式如下:k_1=f(x_n,y_n)k_2=f(x_n+\frac{h}{2},y_n+\frac{h}{2}k_1)k_3=f(x_n+\frac{h}{2},y_n+\frac{h}{2}k_2)k_4=f(x_n+h,y_n+hk_3)y_{n+1}=y_n+\frac{h}{6}(k_1+2k_2+2k_3+k_4)其中,k_i为中间变量。

三、常微分方程组的数值解法1.欧拉法对于一个二阶常微分方程组:\begin{cases} y'_1=f_1(x,y_1,y_2) \\ y'_2=f_2(x,y_1,y_2)\end{cases}其欧拉公式为:\begin{cases} y_{n+1,1}=y_{n,1}+hf_1(x_n,y_{n,1},y_{n,2}) \\y_{n+1,2}=y_{n,2}+hf_2(x_n,y_{n,1},y_{n,2}) \end{cases}其中,x_n和y_{n,i}(i=1, 2)为第n个时间点上x和y_i的取值。

常微分方程数值解法课件

常微分方程数值解法课件
使用龙格-库塔公式计算 下一个时间点的数值解的 近似值。
根据选择的步长,确定当 前时刻的数值解的近似值 。
重复上述步骤,直到达到 所需的时间积分区间终止 点。
龙格-库塔方法的误差分析
误差主要来源于时间步长 的离散化,步长越小,误 差越小。
龙格-库塔方法的收敛性 和稳定性取决于所选步长 和步数。
ABCD
机械工程
在机械工程中,机构的动力学行为可以用常微分方程来描 述,如机器人的运动轨迹、机械臂的姿态等,通过数值解 法可以模拟这些机构的运动。
在金融问题中的应用
股票价格模拟
股票价格的变化可以用常微分方程来描述,通过数值解法可以模 拟股票价格的走势,预测未来的股票价格。
期货价格模拟
期货价格的变化也可以用常微分方程来描述,通过数值解法可以 模拟期货价格的走势,预测未来的期货价格。
可以通过增加步数来减小 误差,但会增加计算量。
在实际应用中,需要根据 具体问题选择合适的步长 和步数,以达到精度和计 算效率的平衡。
05
数值解法的应用
在物理问题中的应用
计算物体运动轨迹
通过数值解法求解常微分方程,可以模拟物体的运动轨迹,如行星 运动轨迹、炮弹弹道等。
模拟振动系统
在物理中,许多系统可以用常微分方程来描述,如弹簧振荡器、电 磁振荡器等,通过数值解法可以模拟这些系统的振动行为。
终止条件
当达到预设的精度或迭代次数时,停止迭代并输出结果。
欧拉方法的误差分析
截断误差
由于欧拉方法使用离散化近似 ,因此存在截断误差。这种误 差的大小取决于步长$h$的选
择。
稳定性
欧拉方法对于某些微分方程可 能是不稳定的,这意味着随着 迭代的进行,解可能会发散或

常微分方程中的数值解法及其应用

常微分方程中的数值解法及其应用

常微分方程中的数值解法及其应用常微分方程是描述物理现象、生命科学、工程和经济学中的许多过程的数学模型。

因此,在解决实际问题时,常微分方程数值解法非常重要。

本文将介绍几种经典的数值解法,并探讨它们在不同领域的应用。

欧拉法:欧拉法是常微分方程中最基本的数值解法之一。

它通过将微分方程转化为离散形式来估计解。

具体来说,对于给定的微分方程y'(t) = f(y(t), t), y(a) = y_0,欧拉法的基本思想是将解分割为n个离散的点,i=0,1,...,n,其中每个点的步长为h = (b-a)/n,并在每个点上估计斜率。

我们可以使用下面的公式计算下一个点的y值:y_{i+1} = y_i + hf(y_i, t_i)欧拉法的简单和直接性使它成为最受欢迎的数值解法之一,但它的精度相对较低。

改进的欧拉法:改进的欧拉法是欧拉法的改进版本,它比欧拉法的精度更高。

改进的欧拉法需要计算其他一些值,如y_i+1/2和t_i+1/2。

不同的方法采用不同的步骤,但其基本思想是提高估计斜率的精度,从而提高解的精度。

龙格库塔法:龙格库塔法是常微分方程中最通用的数值解法之一,其精度比欧拉法和改进欧拉法高得多。

龙格库塔法通过评估微分方程的斜率来计算微分方程的解,使用加权平均来增加估计斜率的精度。

龙格库塔法称为四阶方法,因为其近似误差为O(h^4)。

在工程和科学领域中,龙格库塔法被广泛应用于解决不同的问题。

例如,它可以用于模拟动力系统、气象或经济方程。

后向欧拉法:后向欧拉法是一种牛顿方法的变体,用于解决常微分方程。

与欧拉法不同,后向欧拉法是一种快速和高精度的方法。

它独立于f(y),因此可以应用于更广泛的微分方程。

后向欧拉法的主要缺点是它的计算成本较高,但它对于需要高精度的问题非常有用。

应用:上述解法可应用于各种不同的领域,例如,通过患者年龄的常微分方程计算药物的代谢速率。

还可用于工业问题,如泵的设计及其流量和速度等等。

欧拉公式求解常微分方程数值解培训教材

欧拉公式求解常微分方程数值解培训教材

例:用欧拉法解初值问题
y=yxy2(0x0.6)
y(0)=1
取步长 h = 0.2.计算过程保留4位小数.
解:f(x,y)=-y-xy2 , h = 0.2,由欧拉公式得
yk+ 1=yk+h(fxk,yk)=ykhky hkx yk 2 =0.2yk(4xkyk)k(=0,1,2)
故y(0.2)y1=0.2×1(4-0×1)=0.800 0 y(0.4)y2=0.2×0.8×(4-0.2×0.8)=0.614 4 y(0.6)y3=0.2×0.614 4×(4-0.4×0.4613)=0.800 0
Step 2: 将 K2 代入第1式,得到 y i+ 1 = y i+ h1 y ( x i) + 2 [ y ( x i) + p y ( h x i) + O ( h 2 )] = y i+ (1 + 2 ) h y ( x i) + 2 p 2 y h ( x i) + O ( h 3 )
f y ( x, f y ( x,
y) y)
dy dx f (x,
y)
K 2= f(x i+ p,y h i+ p1 h ) K = f(x i,y i)+ px h (x i,y fi)+ p1 h fy (x K i,y i)+ O (h 2 ) = y (x i)+ py h (x i)+ O (h 2 )
例1:用预报-校正公式求解初值问题
y
+y+
y
sinx=
y() =
取步长 h = 0.2,计算 y(1.2), y(1.4)的近似值,计算过程保

常微分方程欧拉方法

常微分方程欧拉方法

常微分方程欧拉方法常微分方程欧拉方法是一种求解常微分方程数值解的方法。

常微分方程是描述物理、工程等领域中许多现象和问题的数学模型,求解常微分方程的数值方法在实际问题中具有重要的应用价值。

欧拉方法是求解常微分方程的一种简单直观的数值方法,它的基本思想是将微分方程转化为差分方程,通过迭代计算得到数值解。

欧拉方法的基本原理是通过一阶泰勒展开近似替代微分方程中的导数项,从而将微分方程转化为差分方程。

对于一阶常微分方程dy/dx=f(x,y),欧拉方法的迭代公式为y_(n+1) = y_n + h * f(x_n,y_n),其中h是步长,n为迭代次数。

欧拉方法根据初始条件y_0和步长h,通过迭代计算得到一系列的近似解y_1, y_2, ..., y_n。

欧拉方法的主要优点是简单易实现,计算量较小。

它适用于求解线性常微分方程或近似线性的非线性方程,并且对于一些简单的物理问题,欧拉方法的数值解能够提供较好的近似结果。

然而,欧拉方法也存在一些局限性,由于其基于一阶近似,所以在步长较大的情况下误差较大,容易积累,导致数值解的精度下降。

因此,在使用欧拉方法时需要控制好步长大小,选择合适的迭代次数,从而保证数值解的准确性。

在实际问题中,欧拉方法可以通过多种方式进行改进。

比如改进的欧拉方法(改进的欧拉方法也被称为向前欧拉法)使用角标n+1/2的数据点估计导数,这样可以提高数值解的精度。

此外,也可以使用自适应步长策略来自动调整步长大小,从而提高数值解的准确性。

还可以结合其他数值方法,如Runge-Kutta方法等,进行数值求解。

总结起来,常微分方程欧拉方法是一种简单直观的数值求解方法,但在实际应用中需要注意步长的选择和积累误差的处理。

在对于线性常微分方程或近似线性的非线性方程的求解中,欧拉方法能够给出较好的近似解,但在复杂的非线性方程求解中,通常需要结合其他数值方法使用。

常微分方程 欧拉法

常微分方程 欧拉法

常微分方程欧拉法常微分方程是数学中的一个重要分支,它研究的是描述自然现象中变化规律的方程。

欧拉法是解常微分方程数值解法中的一种方法,它是一种基于欧拉公式的一阶数值方法,可以用于求解一些简单的常微分方程,下面我们将详细介绍欧拉法的原理和应用。

一、欧拉法的原理欧拉法是一种基于欧拉公式的一阶数值方法,它是一种比较简单的数值解法,适用于求解一些简单的常微分方程。

欧拉法的基本思想是将微分方程的求解问题转化为一个逐步逼近的问题,即将求解的区间分成若干个小区间,然后在每个小区间内用欧拉公式逐步逼近解。

欧拉公式是一个一阶泰勒公式,它的表达式为:$$y_{n+1}=y_n+hf(x_n,y_n)$$其中,$y_n$表示在$x_n$处的解,$h$表示步长,$f(x_n,y_n)$表示微分方程在$(x_n,y_n)$处的导数。

欧拉法的基本思想是根据欧拉公式逐步逼近解,即从初始点开始,依次计算每一个点的解,直到求得终止点的解。

欧拉法的步骤如下:1. 确定初始点$(x_0,y_0)$和终止点$(x_n,y_n)$以及步长$h$。

2. 根据欧拉公式计算下一个点的解$y_{n+1}$。

3. 重复步骤2,直到求得终止点的解。

二、欧拉法的应用欧拉法是一种比较简单的数值解法,适用于求解一些简单的常微分方程。

下面我们将通过一个实例来介绍欧拉法的应用。

例子:求解微分方程$y'=x+y$,$y(0)=1$在$x=1$处的解。

解:根据欧拉公式,我们可以得到:$$y_{n+1}=y_n+hf(x_n,y_n)$$将微分方程代入公式中,得到:$$y_{n+1}=y_n+h(x_n+y_n)$$根据初始条件$y(0)=1$,我们可以得到:$$y_1=y_0+h(0+1)=1+h$$$$y_2=y_1+h(1+y_1)=1+2h+h^2$$$$y_3=y_2+h(2+y_2)=1+3h+3h^2+h^3$$$$y_4=y_3+h(3+y_3)=1+4h+6h^2+4h^3+h^4$$将$h=0.1$代入上述公式中,我们可以得到:$$y_1=1.1$$$$y_2=1.21$$$$y_3=1.331$$$$y_4=1.4641$$因此,在$x=1$处的解为$y(1)=1.4641$。

81第一节 欧拉方法

81第一节 欧拉方法

与准确解 y 1 2 x 相比,可看出欧拉公式的计算结
果精度很差.
数学学院 信息与计算科学系
二、改进的欧拉法(梯形法)
为得到比欧拉法精度高的计算公式,在等式
y ( xn 1 ) y ( xn )
xn 1 xn
f (t , y(t ))dt
右端积分用梯形求积公式近似, 并用yn代替y(xn), yn+1 代替y(xn+1),则得
h2 y( xn1 ) y( xn ) hf ( xn , y( xn , yn )) y ( n ) 2 2 h 截去 T1 y( n ) 2 再用yn近似代替 y (xn),用yn+1近似代替 y (xn+1),就得 到了微分方程满足的递推公式为
yn1 yn hf ( xn , yn ), n 0,1, y0 y( x0 )
数学学院 信息与计算科学系
预估-校正公式为
(0) y 预估 n1 yn hf ( xn , yn ) n 0,1, 2, h (0) 校正 yn1 yn [ f ( xn , yn ) f ( xn1 , yn1 )] 2
或表示为下列形式
1 1 yn1 yn 2 k1 2 k2 n 0,1, 2, k1 hf ( xn , yn ) k hf ( x h, y k ) n n 1 2
这时就取 y n 1 y n 1 ,然后再转入下一步计算. 可以证明,如果f(x, y)满足李普希兹条件,只要 步长h足够小,就可保证数列的收敛性,即
( k 1)
lim y n1 yn1
(k ) k
数学学院 信息与计算科学系

常微分方程初值问题解法

常微分方程初值问题解法

8
4 后退的欧拉方法
(5)
9
(6)
(6)式称为后退的欧拉方法,它是隐式的, 欧拉公式(2)是显式的,
10
(7)
11
12
后退的欧拉方法的局部截断误差:
13
5 梯形方法
(8)
(8)式称为梯形方法.
14
梯形方法的局部截断误差:
15
6. 改进欧拉法及局部截断误差
(1)改进的欧拉公式:
预测步
~ yn 1 yn hf xn , yn
33
提高Runge-Kutta方法的精度的方法
提高积分方法的精度,我们最熟悉的(不一定是最好的)措施是
Richardson 外推法
我们用一个例子予以说明如下 的近似解: Euler法 yn 1 yn hyn y ( h ) ( x) y ( x) c1h c2 h 2 h 将步长减半为 时,有 2 h ( ) 1 1 y 2 ( x) y ( x) c1h c2 h 2 2 4
h) p 1 Yn( (1 1 ch
d
(h) n 1
因此可以从两次计算当中估计出每一步的截断误差,有了这个误差估计之后, 通过与控制误差限比较,就可以控制步长. 注意这个方法增加了计算量.
35
1 1 2 p
) (h (h) 2 Y Y n 1 ; n 1
30
yx 例 求解初值问题ODE : dy dx
易知其精确解为:y 2 2 x x 2 e x
2
,
y (0) 1.
步长都取为 h 0.1 分别用二阶、四阶 R K方法求解:
x
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

常微分方程初值问题的数值解法

常微分方程初值问题的数值解法

常微分方程初值问题的数值解法在实际应用中,对于某些微分方程,我们并不能直接给出其解析解,需要通过数值方法来求得其近似解,以便更好地理解和掌握现象的本质。

常微分方程初值问题(IVP)即为一种最常见的微分方程求解问题,其求解方法有多种,本文将对常微分方程初值问题的数值解法进行较为详细的介绍。

一、欧拉法欧拉法是最基本的一种数值解法,它采用泰勒级数展开并截断低阶项,从而获得一个差分方程近似求解。

具体来讲,设 t 为独立变量,y(t) 为函数 y 关于 t 的函数,方程为:$$y'(t) = f(t, y(t)), \qquad y(t_0) = y_0$$其中 f(t,y(t)) 为已知的函数,y(t_0) 为已知的初值。

将函数 y(t) 进行泰勒级数展开:$$y(t+h) = y(t) + hf(t, y(t)) + O(h^2)$$其中 h 表示步长,O(h^2) 表示其他高阶项。

为了使误差较小,一般取步长 h 尽可能小,于是我们可以用欧拉公式表示数值解:$$y_{n+1} = y_n + hf(t_n, y_n), \qquad y_0 = y(t_0)$$欧拉法的优点是容易理解和实现,但是由于截取低阶项且使用的单步法,所以误差较大,精度较低,在具体应用时需要慎重考虑。

二、龙格-库塔法龙格-库塔法(Runge-Kutta method)是一种多步法,比欧拉法更加精确。

龙格-库塔法的主要思想是使用不同的插值多项式来计算近似解,并且将时间步长分解,每次计算需要多次求解。

以下简要介绍二阶和四阶龙格-库塔法。

二阶龙格-库塔法将时间步长 h 分解成两步 h/2,得到近似解表达式:$$\begin{aligned} k_1 &= hf(t_n, y_n)\\ k_2 &= hf(t_n+h/2,y_n+k_1/2)\\ y_{n+1} &= y_n+k_2+O(h^3)\\ \end{aligned}$$四阶龙格-库塔法四阶龙格-库塔法是龙格-库塔法中应用最为广泛的一种方法,其需要计算的中间值较多,但是具有更高的精度。

常微分方程数值解法-欧拉方法(1)

常微分方程数值解法-欧拉方法(1)

课题报告题目:常微分方程的数值解法-欧拉方法院 (系):理学院专业:数学与信息专业指导教师:***组员:艾佳欢(组长) 邓云娜柏茜钟岩刘磊2015 年 5 月 11 日常微分方程数值解法-欧拉方法摘要:从常微分方程数值解的基本概念入手,了解最基本的数值解法--欧拉方法。

并利用欧拉方法显式隐式的特点探究如何求解微分方程,以及欧拉方法的误差分析及校正。

关键词:数值解,欧拉方法,误差,校正ABSTRACT: From the basic concept of numerical solution of ordinary differential equations, and understand the most basic numerical solution of euler method. And by using euler explicitly implicit characteristics and explore how to solve differential equations and the error analysis and correction of euler method.KEYWORDS :arithmetic solution,Euler's method,error,revise1.初值问题数值解基本概念初值问题的数值解法,是通过微分方程离散化而给出解在某些节点上的近似值。

在[]b a ,上引入节点{}),,1(,:1100n k x x h b x x x a x k k k n nk k =-==<<<=-=称为步长。

在多数情况下,采用等步长,即),1,0(,n k kh a x nab h k =+=-=。

记准确解为)(x y ,记)(k x y 的近似值为k y ,记),(k k y x f 为k f .一阶常微分方程的初值问题⎩⎨⎧=∈=')2.1()()()1.1(),())(,()(0 x y a y b a x x y x f x y , 若f 在{}〈+∞≤≤=y b x a D ,内连续,且满足Lip 条件:0≥∃L 使2121),(),(y y L y x f y x f -≤-,则初值问题的连续可微解)(x y 在],[b a 上唯一存在,称解)(x y 在节点i x 处的近似值)(i i x y y =为其数值解,该方法称为数值方法。

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

y
xn1,
h2 2
y xn
h3 3
y xn
h2 2
y xn
h3 6
3
f
y
xn1
,
y xn
2y xn
Rn1
h2 2
y xn o(h2)
隐式欧拉法的局部截断误差:
Rn1
y(xn1)
yn1
h2 2
y(xn) O(h3)
即隐式欧拉公式具有 1 阶精度。
§1 Euler’s Method
欧拉法具有 1 阶精度。
在第2章讨论牛顿插值公式时 介绍了差商的概念和性质, 各阶差商可以近似各阶导数,具有不同的精度, 且可以用函数值来表示。 上一章中数值微分的方法之一
就是用差商近似导数
在xn点用一阶向前差 商近似一阶导数
y(xn )
y(xn1) h
y(xn )
y(xn1) y(xn ) hy(xn )
y( x2 ) y( x0 ) 2h f ( x1 , y( x1 ))
x0
x1
x2
yi1 yi1 2h f ( xi , yi ) i 1, ... , n 1
假设 yi1 y( xi1 ), yi y( xi ) ,则可以导出 Ri y( xi1 ) yi1 O(h3 ) 即中点公式也具有 2 阶精度,且是显式的。
式。隐式公式不能直接求解,一般需要用Euler显式公式
得到初值,然后用Euler隐式公式迭代求解。因此隐式公
式较显式公式计算复杂,但稳定性好
y0 n1
yn
h
y(k 1) n1
yn
h
f (xn , yn )
f
( xn1 ,
y(k) n1
)
收敛性
y (k 1) n 1
yn1
h
f
( xn1,
y(k ) n 1
)
f ( xn1, yn1)
hL
y(k ) n 1
yn1
hL
k 1
y(0) n 1
yn1
hL 1,
y (k 1) n 1
yn1 (k
)
在迭代公式中取极限,有
yn1 yn h f ( xn1, yn1 ) 因此yn(k1)的极限就是隐式方程的解
几何意义
y
设已知曲线上一点 Pn (xn , yn ),过该 点作弦线,斜率为(xn+1 , yn +1 ) 点的 方向场f(x,y)方向,若步长h充分小, 可用弦线和垂线x=xn+1的交点近似 曲线与垂线的交点。
比较尤拉显式公式和隐式公式及其局部截断误差

式 yn1 yn h f (xn , yn ) n 0, 1,...
公 式
Rn1
y(xn1)
yn1
h2 2
y(xn) O(h3)
隐 yn1 yn h f (xn1, yn1)


Rn1
y(xn1)
yn1
h2 2
y(xn) O(h3)

若将这两种方法进行算术平均,即可消除误差 的主要部分/*leading term*/
§1 Euler’s Method
Pn+1
Pn
y(x)
xn
xn+1
x
见上图, 显然,这种近似也有一定误差, 如何估计这种误差y(xn+1) yn+1 ? 方法同上,基于Taylor展开估计局部截断误差。 但是注意,隐式公式中右边含有f(xn+1 , yn +1 ) , 由于yn +1不准确,所以不能直接用
Step 2: 再将 yn1 代入隐式梯形公式的右边作校正,得到
yn1
yn
h 2
[
f
(
x
n,
yn)
f ( xn1 ,
yn1 )]
yn1
yn
h 2
f
( xn ,
yn )
f
xn1,
yn
h
f
( xn ,
yn
)
§1 Euler’s Method
注:此法亦称为预测-校正法 /* predictor-corrector method */。 可以证明该算法具有 2 阶精度,同时可以看到它是个单 步递推格式,比隐式公式的迭代求解过程简单。后面将 看到,它的稳定性高于显式欧拉法。
yn1
hf
y
xn 1 ,
y
xn1
yn1
h2 2
y
xn
h3 3
y xn

1
hf
y
xn1
,
Rn1
h2 2
y xn
h3 3
y xn
1
hf
y
1
xn1,
1
hf
y
xn1,
h2
2
f
y
xn1
,
1 (
1 x x2
)
1 x
§1 Euler’s Method
Rn1
1
hf
y
xn1,
h2
2
f
几何直观是帮助我们寻 找解决一个问题的思路
的好办法哦 亦称为欧拉折线法
/* Euler’s polygonal arc method*/
显然,这种近似有一定误差, 而且步长越大,误差越大, 如何估计这种误差y(xn+1) yn+1 ?
§1 Euler’s Method
定义 在假设 yn = y(xn),即第 n 步计算是精确的前提下,考 虑公式或方法本身带来的误差: Rn = y(xn+1) yn+1 , 称为局部 截断误差 /* local truncation error */。
解的存在唯一性(“常微分方程”理论):只要 f (x, y) 在[a, b] R1 上连续,且关于 y 满足 Lipschitz 条件,即存在与 x, y 无关的常数 L 使| f (x, y1) f (x, y2 ) | L | y1 y2 |
对任意定义在 [a, b] 上的 y1(x) 和 y2(x) 都成立,则上述IVP存 在唯一解。
迭代计算量大,且难以预测迭代次数。为了控制计算量,通常只迭代一 次就转入下一点的计算。用显式公式作预测,梯形公式作校正,得到如下预
测校正系统,也称为改进尤拉法:
改进欧拉法 /* modified Euler’s method */
Step 1: 先用显式欧拉公式作预测,算出 yn1 yn h f ( xn, yn)
Euler’s method
y(xn ) yn
y(xn1) yn1 yn h f (xn , yn )
➢ 欧拉公式的改进:
隐式欧拉法或后退欧拉法 /* implicit Euler
method or backward Euler method*/
§1 Euler’s Method
xn+1点向后差商近似导数
欧拉法的局部截断误差:
Rn1
y ( xn 1 )
yn1
[ y(xn )
hy(xn )
h2 2
y(xn )
O(h3 )]
Rn+1 的主项
/* leading term */
[ yn hf (xn , yn )]
h2 2
y(xn ) O(h3 )
§1 Euler’s Method
定义 若某算法的局部截断误差为O(hp+1),则称该算法有p 阶精度。
如何求解
解析解法:(常微分方程理论)
只能求解极少一类常微分方程;实际中给定的问题不一 定是解析表达式,而是函数表,无法用解析解法。
数值解法: 求解所有的常微分方程
计算解函数 y(x) 在一系列节点 a = x0< x1<…< xn= b
处的近似值 yi y( xi ) (i 1, ... , n)
第五章 常微分方程数值解
/* Numerical Methods for Ordinary Differential Equations */
待求解的问题:一阶常微分方程的初值问题 /* Initial-Value
Problem */:
dy f ( x, y) x [a, b] dx y(a) y0
说明
§1 Euler’s Method
截断误差: 实际上,y(xn) yn, yn 也有误差,它对yn+1的误 差也有影响,见下图。但这里不考虑此误差的影响,仅考虑 方法或公式本身带来的误差,因此称为方法误差或截断误差。
局部截断误差的分析:由于假设yn = y(xn) ,即yn准确,因此 分析局部截断误差时将y(xn+1) 和 yn+1都用点xn上的信息来表 示,工具:Taylor展开。
梯形法的迭代计算和收敛性
§1 Euler’s Method
收敛性
y0 n1
yn
h
f (xn , yn )
y(k 1) n1
yn
h 2
f
(xn ,
yn )
f
( xn 1 ,
y(k) n1
)
y (k 1) n 1
yn 1
h 2
f
( xn1,
y(k ) n 1
)
f ( xn1, yn1 )
hL 2
y' (xn+1)代替f(xn+1 , yn +1 )
隐式欧拉法的局部截断误差:
§1 Euler’s Method
由微分中值定理,得
f xn1, yn1 f
xn1, y xn1
f
y
xn1, yn1
相关文档
最新文档