常微分方程初值问题解法

合集下载

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

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

常微分方程初值问题的数值解法在自然科学、工程技术、经济和医学等领域中,常常会遇到一阶常微分方程初值问题:(,),,(),y f x y a x b y a y '=≤≤⎧⎨=⎩ (1) 此处f 为,x y 的已知函数,0y 是给定的初始值。

本章讨论该问题的数值解法,要求f 在区域{(,)|,}G x y a x b y =≤≤<∞内连续,并对y 满足Lipschitz 条件,从而初值问题(1)有唯一的连续可微解()y y x =,且它是适定的。

1 几个简单的数值积分法1.1 Euler 方法(1)向前Euler 公式(显式Euler 公式)10(,),0,1,2,,(),n n n n y y hf x y n y y a +=+=⎧⎨=⎩(2) 其中h 为步长。

由此便可由初值0y 逐步算出一阶常微分方程初值问题(1)的解()y y x =在节点12,,x x 处的近似值12,,y y 。

该公式的局部截断误差为2()O h ,是一阶方法。

(2)向后Euler 公式(隐式Euler 公式)1110(,),0,1,2,,(),n n n n y y hf x y n y y a +++=+=⎧⎨=⎩(3) 这是一个隐格式,也是一阶方法。

这类隐格式的计算比显格式困难,一般采用迭代法求解。

首先用向前Euler 公式提供迭代初值,然后迭代计算:(0)1(1)()111(,),(,),0,1,2,n n n n k k n n n n y y hf x y y y hf x y k +++++⎧=+⎨=+=⎩ (4)1.2 梯形方法1110[(,)(,)],2(),(0,1,2,)n n n n n n h y y f x y f x y y y a n +++⎧=++⎪⎨⎪=⎩= (5) 这也是一个隐格式,是二阶方法。

一般也采用迭代法求解。

迭代公式如下:(0)1(1)()111(,),[(,)(,)],0,1,2,2n n n n k k n n n n n n y y hf x y h y y f x y f x y k +++++⎧=+⎪⎨=++=⎪⎩ (6)1.3 改进的Euler 方法11110(,),[(,)(,)],0,1,2,,2(),n n n n n n n n n n y y hf x y h y y f x y f x y n y y a ++++⎧=+⎪⎪=++=⎨⎪=⎪⎩(7) 为了便于上机编程计算,(7)可改写为110(,),(,),0,1,2,,1(),2(),p n n n cn n p n p c y y hf x y y y hf x y n y y y y y a ++=+⎧⎪=+⎪⎪=⎨=+⎪⎪=⎪⎩(8) 该格式是显式,也是二阶方法。

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

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

常微分方程的初值问题及其解法常微分方程是自然界中各种变化的基础模型,广泛应用于物理、工程、生物、经济学等领域。

初值问题是其中最基本的问题之一。

本文将从初值问题的意义入手,介绍几种不同的数值解法,并评价其优缺点。

1. 初值问题的意义首先,我们来看一个简单的例子。

假设有一个人从一楼的窗户往下跳,忽略空气阻力,我们可以列出他下落的物理规律:$$\frac{d^2h}{dt^2}=g$$其中$h$是跳下来后距离地面的高度,$t$是时间,$g$是常数,表示重力加速度。

上面这条式子就是一个二阶常微分方程。

我们的问题是,如果知道了他的初速度$v_0$和起始高度$h_0$,能否求得他下落到地面时的时间和高度。

这个例子中,$h$和$t$都是连续的量,但是我们并不能解析地求出$h(t)$的解析式,因此需要用数值方法去近似求解。

这就是初值问题的意义。

通常,初值问题是指某一初始时刻$t_0$的初值:$$y'(t_0)=f(y(t_0),t_0),\ y(t_0)=y_0$$其中$y$是未知函数,而$f$则是已知函数。

对于一阶常微分方程,这个条件是充分的,可以唯一地决定一个解。

但是对于更高阶的常微分方程,则需要多个初始条件才能确定一个解。

然而,这已经超出了本文的范畴,这里只讨论一阶常微分方程的初值问题。

2. 数值解法下面将介绍几种常见的数值解法。

2.1. 欧拉法欧拉法是最简单的数值解法之一,其思路是将初值问题离散化。

具体来说,我们可以将时间$t$分成若干个小段,每段的长度为$\Delta t$。

于是,我们可以将初始时刻$t_0$的初始值$y(t_0)=y_0$,并通过欧拉法近似计算下一个时间点$t_0+\Delta t$的值$y_1$:$$y_1=y_0+f(y_0,t_0)\Delta t$$同理,我们可以通过已知的$y_1$和$t_1=t_0+\Delta t$,计算下一个时间点$t_2=t_0+2\Delta t$的值$y_2$:$$y_2=y_1+f(y_1,t_1)\Delta t$$依此类推,直到我们得到一个目标时间$t_m$的值$y_m$。

解常微分方程初值问题

解常微分方程初值问题

解常微分方程初值问题
解常微分方程初值问题的一般步骤如下:
1.确定微分方程的阶数和自由度数,以及初始条件和边界条件。

2.根据微分方程的形式和初始条件,选择适当的求解方法,如分
离变量法、特征线法、拉格朗日插值法等。

3.运用所选方法求解微分方程,得出通解或特解。

4.根据初始条件确定特解,得出最终解。

下面以一阶常微分方程为例,详细说明解题过程:
例:求解初值问题
dy/dx = x^2, y(0) = 1
解:
1.这是一个一阶常微分方程初值问题,自由度数为1,初始条件
为y(0) = 1。

2.采用分离变量法,将微分方程转化为积分形式:
∫dy/y = ∫ x^2 dx
两边同时积分,得到:
ln |y| = x^3/3 + C1
3.为了确定特解,需要将初始条件带入微分方程中,得到:
ln |y(0)| = 0^3/3 + C1 = C1
因此,特解为:
y(x) = e^(x^3/3 + C1) = e^(x^3/3 + ln |y(0)|) = e^(x^3/3 + ln |1|) = e^(x^3/3)
4.最终解为:y(x) = e^(x^3/3)。

常微分方程初值问题的解法及应用

常微分方程初值问题的解法及应用

常微分方程初值问题的解法及应用常微分方程是数学中非常重要的一部分,它涉及了许多领域的模型建立和问题求解。

本文将介绍常微分方程初值问题的解法及其应用。

一、常微分方程初值问题的定义常微分方程初值问题是指给定一个常微分方程,以及它在某一点上的初始条件,求解该方程的解曲线。

通常,一个常微分方程初值问题可以表示为:y'(x) = f(x,y), y(x0) = y0,其中,y(x)是未知函数,f(x,y)是已知函数,y(x0) = y0是初始条件。

二、常微分方程初值问题的解法常微分方程初值问题的解法有多种,下面我们将介绍几种常用的方法。

1.欧拉法欧拉法是最简单的一种求解常微分方程初值问题的方法。

该方法基于初始条件,通过不断迭代计算得到近似解曲线。

具体步骤如下:步骤1:设定步长h,确定求解区间[x0, xn],计算步数n。

步骤2:初始化,即确定初始点(x0, y0)。

步骤3:根据方程dy/dx = f(x,y)和初始点(x0, y0),计算斜率k = f(x0, y0)。

步骤4:根据已知的斜率和步长h,计算下一个点的坐标(xi+1,yi+1)。

步骤5:重复步骤3和步骤4,直到达到步数n。

步骤6:得到近似解曲线。

2.改进的欧拉法(改进欧拉法)改进的欧拉法是对欧拉法的改进,其求解精度比欧拉法更高。

具体步骤如下:步骤1:设定步长h,确定求解区间[x0, xn],计算步数n。

步骤2:初始化,即确定初始点(x0, y0)。

步骤3:根据方程dy/dx = f(x,y)和初始点(x0, y0),计算斜率k1 =f(x0, y0)。

步骤4:根据已知的斜率k1和步长h/2,计算中间点的坐标(x0+h/2, y0+k1*h/2)。

步骤5:根据方程dy/dx = f(x,y)和中间点的坐标(x0+h/2, y0+k1*h/2),计算斜率k2= f(x0+h/2, y0+k1*h/2)。

步骤6:根据已知的斜率k2和步长h,计算下一个点的坐标(xi+1,yi+1)。

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

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

常微分方程初值问题的解法随着科技的不断进步和人类社会的不断发展,工程技术和科学技术的发展已经成为推动社会进步的重要力量,而数学则是工程技术和科学技术的基础和支撑,常微分方程作为数学分支的重要组成部分,对于理论研究和实际应用都有着深远的影响。

在实际工程中,解决常微分方程初值问题是数学理论在抽象式运算与工程实践之间的重要桥梁。

本文将介绍常微分方程初值问题的概念、求解方法以及实际应用。

一、常微分方程初值问题的概念常微分方程是指未知函数一阶或高阶微商与自变量和常数的关系式,常微分方程初值问题是指在初值u(x0)=u0已知的情况下,确定函数u(x)的解的问题。

在初值问题中,自变量是独立变量,取值范围可以是任意实数,因变量是函数值,是依赖自变量而实现的数值,常数是影响函数变化的一些固定参数。

常微分方程模型经常出现在工程技术模型中,一些实际应用场景可以通过建立数学模型来进行求解。

二、常微分方程初值问题的解法常微分方程初值问题的解法大致可以分为两种,一种是解析解法,即直接利用微积分学知识对方程进行求解;另一种是数值解法,即采用数值方法对方程进行数值计算求解。

下面将分别介绍这两种方法的解法原理。

1. 解析解法解析解法是指通过数学工具对函数解析表达式进行研究,以求出常微分方程的解。

该方法的先决条件是对方程具有严格的内部结构和特殊的形式,只有在特殊情况下才能找到一些特解。

这种方法的难点在于方程方程形式和初始条件可能存在巨大的数学难度,解析解的求解需要求解一些解析式的积分、微分和级数。

往往只有在一些特殊情况下,解析解法才能一般性的解决问题,因此该方法的适用场景相对较少。

2. 数值解法数值解法是指通过数值计算的方法,通过有限个代数运算和计算机模拟的方法得出方程的解。

数值解法的优点是具有广泛的适用性,可以有效地求解各种类型的常微分方程初值问题,使得无法通过解析方法求解的问题也可以得到解答。

数值解法可分为无条件稳定和条件稳定两种情况,前者是指方法不会出现不稳定结果的情况,而后者则保证了方法收敛性的同时,存在一定的条件限制。

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

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

0.4 1.3582 1.3416 0.9 1.7178 1.6733
0.5 1.4351 1.4142 1.0 1.7848 1.7321
7
初值问题(2.2)有解 y ,1按2这x 个解析式子
算出的准确值 y(x同n )近似值 一y起n 列在表9-1中,两者 相比较可以看出欧拉方法的精度很差.
17
所以,局部截断误差可理解为用方法(2.10)计算一步的 误差,也即公式(2.10)中用准确解y(x代) 替数值解产生
的公式误差.
根据定义,显然欧拉法的局部截断误差
Tn1 y( xn1) y( xn ) hf ( xn , y( xn ))
y(xn h) y(xn ) hy(xn )
y(2) n1
yn
hf
( xn1,
y (1) n1
).
11
如此反复进行,得
y (k 1) n1
yn
hf
( xn1,
y(k) n1
),
(k 0,1, ).
(2.6)
由于 f (x,对y) 满足y 利普希茨条件(1.3). 由(2.6)减 (2.5)得
y (k 1) n 1
yn1
h
f
( xn1,
y(k) n 1
积分曲线上一点 (x的, y切)线斜率等于函数 值.
的f (x, y)
如果按函数 f (在x, y) 平x面y上建立一个方向场,那 么,积分曲线上每一点的切线方向均与方向场在该点的方 向相一致.
基于上述几何解释,从初始点 P0 (x出0 ,发y0,) 先依 方向场在该点的方向推进到 x 上x1一点 ,P然1 后再从 P1 依方向场的方向推进到 x 上x2一点 ,循P2此前进做出

常微分方程初值问题解法

常微分方程初值问题解法

详细描述
幂级数解法是通过幂级数展开方法,将一阶 常微分方程转化为可求解的幂级数形式。这 种方法适用于一些具有特定形式的常微分方 程,通过幂级数展开方法,将原方程转化为 可求解的幂级数形式,然后找到方程的解。
03 初值问题的数值解法
欧拉方法
总结词
欧拉方法是求解常微分方程初值问题的一种简单而基础的数 值方法。
详细描述
欧拉方法基于微积分中的中点公式,通过在区间上取几个点 并近似求解微分方程,得到近似解。该方法简单易行,但精 度较低,且对于复杂的问题可能需要较大的步长才能得到满 意的结果。
龙格-库塔方法
总结词
龙格-库塔方法是求解常微分方程初值问题的一种高精度数值方法。
详细描述
龙格-库塔方法采用线性插值的思想,通过构造一系列的插值多项式来逼近微分方程的 解。这种方法精度较高,且适用于各种类型的微分方程,因此在科学计算和工程领域应
数值方法
随着计算机技术的发展,数值解法成为解决初值问题的主要手段,如欧拉法、龙格-库 塔法等,能够给出近似解并适用于各种复杂情况。
稳定性分析
对于解的存在性和稳定性,需要分析初值问题的解是否随时间演化而发散或收敛,这涉 及到解的稳定性分析。
未来研究方向与展望
高维问题
目前对高维初值问题的研究 还不够深入,未来可以探索 更有效的数值方法和理论分 析方法。
应用广泛
在各个领域中都有广泛的应用,如航天、航空、交通、经济等。
发展前景
随着科学技术的发展,常微分方程初值问题的求解方法和应用范围 将不断拓展,具有广阔的发展前景。
02 初值问题的解法
分离变量法
总结词
适用于具有特定形式的一阶常微分方程,通过将方程中的变量分离,转化为可求解的方程。

第6章常微分方程初值问题的解法

第6章常微分方程初值问题的解法
yk 1ykh 2 k[f(xk,yk)f(xk 1,yk 1)]
ykh 2 k[ (ykx k 1 ) ( yk 1x k 1 1 )]
yk11 29 1yk1k05110
预估-校正Euler方法:
y k 1 0 .90 y k 5 0 .00 k 9 0 .1 5
20
Euler方法
xk
yk
yk y(xk)
0.0 1.000000
0.0
梯形方法
yk
yk y(xk)
1.000000
0.0

预估-校正方法
yk
yk y(xk)
1.000000
0.0
0.1 1.000000 0.2 1.010000
4.8×10-3 8.7×10-3
1.004762 1.018594
y(0) 1
其解析解为: y1xe-t2dt x[0,1] 0 很难得到其解析解
4
例如:
y=x+y , x[0,1]

y(0) 1
其解析解为 yx12ex
只有一些特殊类型的微分方程问题能够得到用解析表达式 表示的函数解,而大量的微分方程问题很难得到其解析解。
因此,只能依赖于数值方法去获得微分方程的数值解。
例如:
y=x+y , x[0,1]

y(0) 1
其解析解为:yx12ex
3
但是, 只有一些特殊类型的微分方程问题能够得到用解析 表达式表示的函数解,而大量的微分方程问题很难得到其解 析解。
因此,只能依赖于数值方法去获得微分方程的数值解。
例如:
y =e-x2 ,
x[0,1]
7.5×10-5 1.4×10-4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

j 1
i 2,3, , r
i 1
i ij j 1
确定了阶数之后,再通过Taylor展开、比较两边系数的方
法,确定各待定系数: ci , i , ij
21
➢二阶显式Runge-Kutta方法
22
23
24
25
例 求解初值问题ODE : dy y2 , dx 易知其精确解为:y 1 .
yk 1
yk
h 2 [ f (xk , yk )
f (xk1, yk1 )]
如果将其改成
h
yk1 yk 2 (K1 K 2 )
K1 f (xk , yk )
----------(1)
K 2 f (xk1, yk hK1 )
y0 y(x0 )
18
改进Euler法是由梯形公式和Euler公式复合而成 梯形公式具有2阶精度
第7章 常微分方程初值问题数值解法
7.1 引 言
1
本章研究的问题:
2
• 7.1 欧 拉 方 法及改进的欧拉法 • 7.1.1 欧拉公式
图7.1 欧拉折线法
3
1 欧拉公式
(2) (3)
4
5
2 欧拉公式的截断误差
(4)
6
3 单步法的局部截断误差与 阶
局部截断误差可以理解为计算一步的误差.
7
则称该方法具有P阶精度.
校正步
yn1
yn
h 2
f
xn , yn
f
xn1, ~yn1
或者写成
yp yc
yn yn
hf hf
xn , yn
xn1, y
p
yn1
1 2
yp yc
16
(2)改进的欧拉方法的局部截断误差
17
7.2 Runge-Kutta法
考虑改进Euler法
yk 1 yk hf (xk , yk )
1 x
y(0) 1.
步长都取为 h 0.1 分别用以下两种系数:
1. a 1 ,改进的Euler 法: 2
1 c1 c2 2 ,
2 21 1.
积分公式:
yn1 yn 0.1 yn2 yn 0.1 yn2 2 2
2. a 1 , 3
2
1
c1
3
,
c2
, 3
2
21
3. 2
因此若要在局部截断误差中消去h3项,必须增加包含了以上各项的多
个方程,同时我们注意到r=2时,只有 c1,2 , 1,等2四1 个待定系数,少 于方程的数目,所以这样的系数不存在。故: r=2时Runge-Kutta方 法只能是二阶的。要得到三阶的方法,则必须有r=3。
Yn1 Yn h(c1K1 c2K2 c3K3 )
K1 K2
F (tn ,Yn )
F (tn 2h,
Yn
21hK1 )
K3 F (tn 3h, Yn 31hK1 32hK2 )
其 局 部 截 断 误 差 为 :d n1
Y
(tn 1 )
Y
(tn )
h(c1K1
c2 K2
c3
K3
).
28
➢三阶显式Runge-Kutta方法
将K2 , K3以及Y (tn1)作Taylor展开,使得dn1 O(h4 ), 可 得 待 定 系 数 满 足 的 方程 如 下 :
c1 c2 c3 1
2 21
c232
c222
31 32
c33
1 2
c332
1 3
c32 32
1 6
6个 方 程 要 决 定8个 未 知 数 , 解 不 唯 一 。 因 此 可 以 得 到 众 多 公 式, 它 们 统 称 为 三 阶Runge Kutta公 式 。 特 别 地 , 一 个 常 见 的 公 式 称 为Kutta三 阶 公 式 , 如 下 :
积分公式:
yn1 yn 0.1 2 yn2 yn 3 0.1 yn2 2 2 3
26
结果及比较
27
➢三阶显式Runge-Kutta方法
在推导二阶显式方法的过程中,注意到局部截断误差表达式中h3项包 含了以下表达式:
Yn Ftt(tn,Yn ) 2FtY(tn,Yn )Fn FYY (tn,Yn )Fn2 FY(tn,Yn ) Ft(tn,Yn ) FY(tn,Yn )Fn
同样可以证明,改进Euler法也具有2阶精度。 (1)式为一种二阶Runge-Kutta法
19
➢Runge-Kutta方法的推导
20
Runge-Kutta方法的一般形式:
r
yn1 yn h ci Ki
i 1
K1 f (xn , yn )
, h ij K j )
Yn1
Yn
h 6
K1 2K2 2K3 K4
K1
F (tn ,Yn )
K2 K3
F (tn F (tn
1
2 1
2
h, h,
Yn Yn
h
2 h
2
K1 ) K2)
K4
F (tn
h,
Yn
hK3 )
30
例 求解初值问题ODE : dy y x2 , y(0) 1.
dx 易知其精确解为:y 2 2x x2 ex
Yn1
K1
K2
Yn F (tn F (tn
h 6
(
K1
,Yn )
h 2
,
Yn
4K2 h
2
K3) K1 )
K3 F (tn h, Yn hK1 2hK2 )
29
➢四阶显式Runge-Kutta方法
类似前面的推导,可以导出各种四阶的Runge Kutta公式,它们 的局部截断误差满足dn1 O(h5 )。下面列出最常见的一个:
步长都取为 h 0.1 分别用二阶、四阶R K方法求解:
x
四阶 二阶 真解 四阶误差 二阶误差
0.0 1.000000 1.000000 1.000000 0.0000 0.000000
0.1 1.104829 1.102450 1.104829 1.60E-7 2.38E-3
0.2 1.218597 1.211507 1.218597 3.40E-7 7.09E-3
0.3 1.340141 1.325766 1.340141 5.48E-7 1.44E-2
0.4 1.468175 1.443671 1.468175 7.69E-7 2.45E-2
8
4 后退的欧拉方法
(5)
9
(6)
(6)式称为后退的欧拉方法,它是隐式的, 欧拉公式(2)是显式的,
10
(7)
11
12
后退的欧拉方法的局部截断误差:
13
5 梯形方法
(8)
(8)式称为梯形方法.
14
梯形方法的局部截断误差:
15
6. 改进欧拉法及局部截断误差
(1)改进的欧拉公式:
预测步
~yn1 yn hf xn, yn
相关文档
最新文档