计算方法——常微分方程初值问题的数值解法
常微分方程数值解法_OK

y(xi )
O(h3)][yi
hf
(xi ,
yi )]
h2 2
y(xi ) O(h3 )
O(h2 )
欧拉法具有 1 阶精度。4
2. 隐式 Euler法
用向后差商公式代替导数项
y(xi1 ) h
y(xi )
y' (xi1 )
h 2
y' ' ( i
)
y(xi1 ) h
y(xi )
f (xi1, y(xi1 ))
i1 y(xi1 ) yi1 O(h3f)x ( x, y) f y ( x, y) f ( x, y) Step 1: 将 K2 在 ( xi , yi ) 点作 Taylor 展开
K2 f (xi ph, yi phK1)
f (xi , yi ) phfx (xi , yi ) phK1 f y (xi , yi ) O(h2 ) y(xi ) phy(xi ) O(h 2 )
f
(
xi
1
,
y(
xi
1
))]
h3 12
f
''( )
所以,有格式为:
yi1
yi
h[ f 2
(xi , yi )
f
(xi1, yi1 )]
上式称为梯形格式。
类似,可以算出梯形格式的误差估计式:
i1 O(h3 )
2阶的方法
梯形法是二阶、隐式单步的方法,要用迭代法求解。怎么求?
8
改进欧拉格式 /* modified Euler’s Formula */
xi1, yi h f ( xi , yi )
(i 0, ..., n 1)
计算方法 第七章常微分数值解

1. 整体截断误差和局部截断误差 整体截断误差:数值解 yn和精确解 y(xn) 之差
dy f (x, y) dx
(1)
y(x0 ) y0
en y( xn ) yn
整体截断误差除与 xn步计算有关外,还与 xn1,, x1的计算
有关
分析计算中的某一步,显式单步法的一般形式可写为:
yn1 yn hQ(xn , yn , h)
x0
解 : f ( x, y) y x 1,由Euler公式
yn1 yn h( yn xn 1)
代入h 0.1,有yn1 0.9 yn 0.1( xn 1), 依次算得果如下:
n0 1 2 3
4
5
xn 0 0.1 0.2 0.3 0.4
0.5
yn 1.0 1.0 1.01 1.029 1.0561 1.09049
一、Runge-Kutta法的基本思想(1)
若用p阶Taylor多项式近似函数y( xn1 )有:
yn1
y( xn1 )
y( xn )
hy'( xn )
h2 2!
y"( xn )
hp P!
y( p)( xn )
其中y'( x)
f ( x, y),
y'' ( x)
f
' x
(
x,
y
)
f
' y
(例:考察初值问题来自y( x) 30y( x) 在区间[0, 0.5]上的解。
y(0) 1
分别用欧拉显、隐式格式和改进的欧拉格式计算数值解。
节点 xi 0.0 0.1
0.2 0.3 0.4
0.5
欧拉显式 欧拉隐式
常微分方程数值解法

ρ ρ
n+1 n
≤1
三、梯形公式
由 分 径 y ( xn+1) = y ( xn) + 积 途 : xn+1
∫
f ( x, y)dt
(
积分 梯形 式 且令:yn+1 = y( xn+1), yn = y( xn) 用 公 , h 则 yn+1 = yn + ( f (xn , yn) + f (xn+1 , yn+1)) 得: 2
第九章 常微分方程数值解法
§1 、引言
一 常 分 程 初 问 : 阶 微 方 的 值 题 dy dx = f (x, y) y( x0) = y0
'
a ≤ x ≤b
2 y 例 : 方 程 xy -2 y = 4 x ⇒ y = + 4 x 2 y 令 :f ( x , y ) = + 4 且 给 出 初 值 y (1 )= -3 x 就 得 到 一 阶 常 微 分 方 程 的 初 值 问 题 : 2 y dy = f (x, y) = + 4 dx x y(1) = − 3
n n n n n 2 // n n+1
~
y
n+1
= yn + hf ( xn, yn ) = y(xn) + hf
n+1
~
y
n+1
( x , y( x ))
n n
则 T = y( x ) − = h y (ξ ) x y 2 ~
// n+1 n+1
2
n
< ξ < xn+1
令
数值计算方法课件-CH5 常微分方程数值解法—5.1 引言

1.9 yk 1 0.1( xk 1 xk ) 0.2 2.1
1.9 y0 0.1( x0 x1 ) 0.2 1.004 762 y1 2.1 1.9 y1 0.1( x1 x2 ) 0.2 1.018594 y2 2.1 其余结果见表1-1.
e(h) O(h p 1 )
则称该求解公式具有 p 阶精度.
例3. 用 Euler 法、梯形法和改进 Euler 法求解初值问题, 并比较结果的精度
y' x y 1, x [0,0.5] h 0.1 y(0) 1
ba 5 解: f ( x, y) x y 1, a x0 0, b 0.5, y0 1, n h
第五章 常微分方程 数值解法
5.1 引言
第五章 常微分方程数值解法
5.1 引言(基于数值积分的求解公式) 5.2 Runge-Kutta法
本章要点
本章主要研究基于积分数值解法的常微分 方程数值解,主要方法有:
(1) Euler方法; (2) Simpson方法; (3) Runge-Kutta方法; (※)
这种顺着节点排列顺序一步步地向前推进的求解方法, 通常称为步进法.
单步法:计算y 时只利用y (即y y ) k k 1 k 1 k 步进法 多步法:计算yk时不仅利用yk 1 , 还利用yk 2 , yk 3 , , yk p (即yk 1 , yk 2 , yk 3 , , yk p yk )
h yk yk 1 [ f ( xk 1 , yk 1 ) f ( xk , yk )] 2
h yk 1 [ f ( xk 1 , yk 1 ) f ( xk , yk 1 hf ( xk 1 , yk 1 ))] 2
常微分方程初值问题的数值解法

第七章 常微分方程初值问题的数值解法--------学习小结一、本章学习体会通过本章的学习,我了解了常微分方程初值问题的计算方法,对于解决那些很难求解出解析表达式的,甚至有解析表达式但是解不出具体的值的常微分方程非常有用。
在这一章里求解常微分方程的基本思想是将初值问题进行离散化,然后进行迭代求解。
在这里将初值问题离散化的方法有三种,分别是差商代替导数的方法、Taylor 级数法和数值积分法。
常微分方程初值问题的数值解法的分类有显示方法和隐式方法,或者可以分为单步法和多步法。
在这里单步法是指计算第n+1个y 的值时,只用到前一步的值,而多步法则是指计算第n+1个y 的值时,用到了前几步的值。
通过对本章的学习,已经能熟练掌握如何用Taylor 级数法去求解单步法中各方法的公式和截断误差,但是对线性多步法的求解理解不怎么透切,特别是计算过程较复杂的推理。
在本章的学习过程中还遇到不少问题,比如本章知识点多,公式多,在做题时容易混淆,其次对几种R-K 公式的理解不够透彻,处理一个实际问题时,不知道选取哪一种公式,通过课本里面几种方法的计算比较得知其误差并不一样,,这个还需要自己在往后的实际应用中多多实践留意并总结。
二、本章知识梳理常微分方程初值问题的数值解法一般概念步长h ,取节点0,(0,1,...,)n t t nh n M =+=,且M t T ≤,则初值问题000'(,),()y f t y t t Ty t y =≤≤⎧⎨=⎩的数值解法的一般形式是1(,,,...,,)0,(0,1,...,)n n n n k F t y y y h n M k ++==-@显示单步法7.2.1 显示单步法的一般形式1(,,),(0,1,...,1)n n n n y y h t y h n M ϕ+=+=-定理7.2.1 设增量函数(,,)n n t y h ϕ在区域00{(,,)|,||,0}D t y h t t T y h h =≤≤<∞≤≤内对变量y 满足Lipschitz 条件,即存在常数K ,使对D 内任何两点1(,,)t u h 和2(,,)t u h ,不等式1212|(,,)(,,)|||t u h t u h K u u ϕϕ-≤-成立,那么,若单步法的局部截断误差1n R +与1(1)p h p +≥同阶,即11()p n R O h ++=,则单步法的整体截断误差1n ε+与p h 同阶,即1()p n O h ε+=。
数值分析李庆扬第9章常微分方程初值问题数值解法讲义.

② 由 x0 , y0 f x0 , y0 切线 P0P1 ,
切线与 x x1 交点 P1 : y1 的近似值 ;
③ 再由 x1 , y1 向前推进到 P2 , 得到折线 P0P1 Pn ,近似 y yx 。
7
2021年5月4日
《数值分析》 黄龙主讲
h
yxn
yxn1
yn1 yn f
h
xn1 , yn1
yn1 yn h f xn1 , yn1
——后退的欧拉公式(隐式)
注意:① 显式计算方便,隐式稳定性较好;
② 上式隐含 yn1 ? ,采用迭代法求解。
12
2021年5月4日
《数值分析》 黄龙主讲来自欧拉公式的另一种理解:
将常微分方程 y f x, y 改写 dy f t , ytdt
“步进式”:顺着节点排列顺序,一步一步地向前推进。
步长:常用等步长 hn xn1 xn ,节点为 xn x0 nh 单步法:计算 yn1 时,只用到前一点的值 yn k 步法:计算 yn1 时,用到前面 k 点的值 yn , yn1 , , ynk1
5
2021年5月4日
《数值分析》 黄龙主讲
对微分方程从 xn 到 xn1 积分
y xn1 yxn
xn1 f t , yt dt
xn
由积分左矩形公式得
xn1 xn
f
t ,
yt dt
hf
xn ,
yxn
例如:
lim
h0
yxn1
h
yxn
yxn
yxn1
h
yxn
yxn
f xn , yxn
求解常微分方程初值问题的中点公式
一、概述求解常微分方程初值问题是微积分学中一个重要的问题,常微分方程的数值解法在科学工程计算中有着广泛的应用。
其中,中点公式是一种常用的数值解法之一,本文将对中点公式进行详细介绍和求解方法。
二、常微分方程初值问题的定义常微分方程初值问题是指给定一个微分方程和一个初始条件,在指定的初始条件下求解微分方程的解。
其中,微分方程通常是一阶或高阶的常微分方程,而初始条件则是未知函数在某一点的值和导数值。
三、中点公式的定义中点公式是一种常见的数值解法,用于求解常微分方程初值问题。
它是基于泰勒展开式得到的近似解,通过迭代计算来逼近精确解。
中点公式的基本思想是利用当前点和前一点的导数值来逼近下一点的函数值,从而计算出微分方程的近似解。
四、中点公式的推导与计算过程1. 扩展泰勒展开式我们需要利用泰勒展开式对未知函数进行近似展开,一般来说,我们会选择一阶或者二阶的泰勒展开式,然后将展开式进行求和得到一个近似解。
2. 利用迭代计算在得到展开式的近似解之后,我们可以通过迭代计算的方式不断逼近精确解,这通常需要使用计算机进行数值计算处理。
3. 计算误差在实际应用中,我们还需要对中点公式得到的解进行误差分析,以确保所得解的精确性和可靠性。
五、中点公式的数学原理中点公式是基于泰勒展开式得到的近似解,其数学原理主要包括以下几点:1. 利用当前点和前一点的导数值来近似下一点的函数值;2. 通过迭代计算不断逼近真实解;3. 计算误差以确保解的精确性和可靠性。
六、中点公式的优缺点分析中点公式作为常微分方程初值问题的一种数值解法,具有如下优缺点:1. 优点:a. 简单易用,计算速度快;b. 适用于一些数值解法不稳定的情况;c. 精度较高。
2. 缺点:a. 对初始条件敏感,初始条件的选取会影响求解结果;b. 在某些情况下可能会产生数值不稳定的问题;c. 无法处理高阶微分方程。
七、中点公式在实际应用中的案例分析下面通过一个具体的案例来展示中点公式在实际应用中的情况。
计算方法 第七章 常微分方程数值解法
7.1.1 欧拉法及其截断误差
4、欧拉公式的截断误差是O(h2),公式是1 阶的。
因为
yi+ 1 ? yi
1
h f ( x i , y i ) = y ( x i ) + h y ¢( x i )
1 2
1
2n ) ( n y ( x ) y (( x)i 1 ) ( y i()x i ) y y ( ) ( x h i ) ( )yh ( ( x x i ) xi y x ) ( xi ) x y y 2 n! 2
y0 y( x0 )
i1 i i i
(欧拉公式)
9
7.1.1 欧拉法及其截断误差
例 取步长 h=0.1,用欧拉法求解初值问题
ì y ¢= x + y ï ï í ï y (0) = 1 ï î
y i 1 y i h f ( x i , y i ) , i 0 ,1 , 2 , y0 y( x0 )
y f ( x , y ), y( x0 ) y0
x [a , b ]
23
7.1 欧拉法和改进的欧拉法
欧拉公式
y i 1 y i h f ( x i , y i ) , i 0 ,1 , 2 , y0 y( x0 )
h y i 1 y i [ f ( x i , y i ) f ( x i 1 , y i 1 )] , i 0 ,1 , 2 , 2 y y( x ) 0 0
( p)
1.2 ? 1.24
1.528
y 2 = y 1 + 0 .1[( x1 + y 1 ) + ( x 2 + y 2 )] = 1 .2 4 + 0 .1(0 .2 + 1 .2 4 + 0 .4 + 1 .5 2 8) = 1 .5 7 6 8
常微分方程初值问题的数值解法
就得到初值问题(7.1),(7.2)的解y(t )的解析表达式。然而
在实际问题和科学研究中所遇到的微分方程往往很复
杂,很多情况下不可能求出它的解析解。有时侯即使
能求出解析解,也会由于很难从解析解中计算函数y(t )
的值而不实用。
例如,容易求出初值问题
y' 1 y cos t,0 t T
注意:这是“折
线法”而非“切
yN
线法”除第一个
点是曲线切线外,
其他点不是切线
而是折线(如右 图所示)。
y2 yy10
t0 a t1 t2
tN b x
§7.2.1 显式单步法的一般形式 显式单步法的一般形式是
yn1 yn h (tn , yn , h), n 0,1, , M 1 (7.2.4)
普希兹)条件。常数L称为函数f 在D0中的Lipschitz常数。
例1 函数f (t, y) t y 在区域D0 (t, y) | 1 t 2, 3 y 4
关于y满足Lipschitz条件,相应的Lipschitz常数可取为L 2
3 存在性定理 定理1 设函数f (t, y)在凸集D R2中有定义,若存在常数
(7.4)
若k 2,则数值解法(7.3)统称为多步法,或具体称 为k步法。
显示法、隐式法与截断误差 若在差分方程(7.3)中,ynk能表示为tn , yn, yn1, , ynk-1, h 的显函数,即
ynk G(tn , yn , yn1, , ynk-1, h), n 0,1, , M - k (7.5)
y0 yn1
Hale Waihona Puke y(t0 yn)
第7章-常微分方程初值问题的数值解法
由 点 斜 式 写 出 切 线 方 程 :
dy yy0(xx0)dx(x0,y0) y0(xx0)f(x0,y0)
等 步 长 为 h , 则 x x 0 h , 可 由 切 线 算 出 y 1
y1y0hf(x0,y0)
2021/4/9
10
其 中 , y n 1 是 当 y n y (x n )(精 确 解 )时 由 E u le r法 求 出 的 值 , 即 y n 无 误 差 。
将 y (x n 1 )在 x n 点 T a y lo r展 开 :
y (x n 1 ) y (x n h ) y (x n ) h f(x n ,y (x n )) (h 2 x2 n y ()xn1)
ax0 x1 x2 xn b 在节点上用离散化方法将连续型微分方程 转化成离散型代数方程即差分方程来求解。
具 体 作 法 : 利 用 y(x0)求 出 y(x1)的 近 似 值 y1, 再 由
y1求 出 y2,, 直 到 求 出 yn为 止 。 该 算 法 称 为 步 进
式 或 递 推 式 算 法 。
积 分 用 梯 形 公 式 , 且 令 : yn1y(xn1),yny(xn) 则 得 : yn1ynh 2(f(xn,yn)f(xn1,yn1))
R n 1 y (x n 1 ) y n 1 1 h 2 3y () x n x n 1
与Euler法结合,形成迭代算法,对n0, 1, 2,
yn(0)1ynhf(xn,yn) (75)
y 2021/4/9
(k1) n1
ynh2(f(xn,yn)f(xn1,yn(k1))k0,1,2,
12
2. Euler方法的截断误差