第五章 常微分方程数值解

合集下载

5 常微分方程数值解分解

5 常微分方程数值解分解

y(
x0
)
y0
显式欧拉法(1 阶精度) yn1 yn hf ( xn , yn ) 改进的欧拉法(2 阶精度)
yn1 yn hk1
k1
f ( xn , yn )
yp yn h f ( xn , yn )
yc yn h f ( xn1, y p )
yn1
( yp
yc )
2
yn1 yn h(k1 k2 ) / 2
如果计算 y,i1只用到前一步的值 ,y则i 称这类方
法为单步方法。
如果计算yi1需用到前r步的值yi, yi1, , yir1
,则称这类方法为r步方法。
§2 欧拉方法
➢一. 欧拉公式(单步显示公式):
y y(
x0
f )
(x, y y0
)
向前差商近似导数
y( x0 )
y( x1 ) h
定义 若某算法的局部截断误差为O(hp+1),则称该 算法有p 阶精度。
欧拉法的局部截断误差:
泰勒展开式
Ri
y(xi1)
yi1
[ y(xi ) hy(xi )
h2 2
y(xi ) O(h3)][ yi
hf (xi ,
yi )]
h2 2
y( xi ) O(h3 )
Ri 的主项
hy( xi) hf ( xi , yi )
k1 f ( xn, yn )
k2 f ( xn1, yn hk1)
y (xn1) 在点 xn 处的一阶泰勒展开式为:
y( xn1 ) y( xn h) y( xn ) h y( )
k*
y( xn ) h f [ , y( )] ( xn , xn1)

数值分析常微分方程数值解法

数值分析常微分方程数值解法
7
第8页/共105页
➢ 数值积分方法(Euler公式)
设将方程 y=f (x, y)的两端从 xn 到xn+1 求积分, 得
y( xn1) y( xn )
xn1 f ( x, y( x))dx :
xn
xn1 F ( x)dx
xn
用不同的数值积分方法近似上式右端积分, 可以得到计算 y(xn+1)的不同的差分格 式.
h2 2
y''( )
Rn1
:
y( xn1)
yn1
h2 2
y''( )
h2 2
y''( xn ) O(h3 ).
局部截断误差主项
19
第20页/共105页
➢ 向后Euler法的局部截断误差
向后Euler法的计算公式
yn1 yn hf ( xn1, yn1 ), n 0, 1, 2,
定义其局部截断误差为
y 计算 的n递1 推公式,此类计算格式统称为差分格式.
3
第4页/共105页
数值求解一阶常微分方程初值问题
y' f ( x, y), a x b,
y(a)
y0
难点: 如何离散 y ?
➢ 常见离散方法
差商近似导数 数值积分方法 Taylor展开方法
4
第5页/共105页
➢ 差商近似导数(Euler公式)
(0 x 1)
y(0) 1.
解 计算公式为
yn1
yn
hfn
yn
h( yn
2xn ), yn
y0 1.0
n 0, 1, 2,
取步长h=0.1, 计算结果见下表
13

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

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

)
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 )

常微分方程数值解法5262115页PPT文档

常微分方程数值解法5262115页PPT文档
x 1 ( t ) 表示时刻 t 食饵的密度,x 2 ( t ) 表示捕食者的密度;
r 表示食饵独立生存时的增长率;
d 表示捕食者独立生存时的死亡率;
a 表示捕食者的存在对食饵增长的影响系数,反映捕
食者对食饵的捕获能力;
b 表示食饵的存在对捕食者增长的促进系数,反映食
饵对捕食者的喂养能力
150 100
令 y 1 y ,y 2 y ',y 3 y '', ,y n y ( n 1 )
可以将以上高阶微分方程化为如下一阶常微分方程组
y1 ' y2 y2 ' y3 yn ' an(x)y1
a1(x)yn f (x)
例:P120,1(a),Bessel方程
常微分方程的数值解
一般地,凡表示未知函数,未知函数的导 数与自变量之间的关系的方程叫做微分方 程.未知函数是一元函数的,叫常微分方 程;未知函数是多元函数的,叫做偏微分方 程.

y ' x y'x2y2 y''y'xy
Matlab实现 [t,x]=ode45(f,ts,x0,options,p1,p2,......)
50 0 0
30 20 10
0 0
10
20
50
30
20
10

0
30
0
10
8
6
4
2
100
0
50
100
150
50
100
高阶常微分方程的解法
高阶常微分方程
y ( n ) a 1 ( x ) y ( n 1 ) a ( n 1 ) ( x ) y ' a n ( x ) y f( x )

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

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

则有
yn 1 yn hf ( xn , yn )
( 5.2 ) Euler格式
例5.1 用Euler格式解初值问题
2x y y y y (0) 1
取步长h=0.1.
(0 x 1)
Euler格式的具体形式为
y n 1 y n hf ( x n , y n ) 2 xn yn 0.1( yn ) yn 0.2 xn 1.1 yn yn
计算公式的精度 常以Taylor展开为工具来分析计算公式的精度. 为简化分析,假定yn是准确的,即在 yn y ( xn ) 的前提下估计误差 y ( xn 1 ) yn 1 Euler格式的局部截断误差 由 从而 局部截断误差
f ( xn , yn ) f ( xn , y ( xn )) y '( xn ) y ( xn 1 ) yn 1 y ( xn 1 ) ( yn hf ( xn , yn )) y ( xn 1 ) y ( xn ) hy '( xn )
y ( xn ), y ( xn 1 ), 的近似值 y1 , y2 , , yn , yn 1 ,
相邻两个节点的间距 h xi 1 xi 称为步长,步 长可以相等,也可以不等.本章总是假定h为定数, 称为定步长,这时节点可表示为
xn x0 nh , n 0,1, 2,
由f ( xn 1 , yn 1 ) f ( xn 1 , y ( xn 1 )) f y ( xn 1 , )( yn 1 y ( xn 1 )) f ( xn 1 , y ( xn 1 )) y '( xn 1 )(在xn点Taylor展开) h2 y '( xn ) hy ''( xn ) y '''( xn ) ... 2 3 2 h h 因此yn 1 y ( xn ) hy '( xn ) y ''( xn ) y '''( xn ) 2 4 h f y ( xn 1 , )( yn 1 y ( xn 1 )) 2 h2 h3 y ( xn 1 ) y ( xn ) hy '( xn ) y ''( xn ) y '''( xn ) 2 3!

数值分析第五章常微分方程数值解法讲解

数值分析第五章常微分方程数值解法讲解

? ? ?
? ?
yn+1
?
1 2
yp ? yc
§1 欧拉方法 /* Euler's Method */
y( xn?1) ? y(xn ) ? hy?( xn ) ? y(xn ) ? yn
y( xn?1) ? yn?1 ? yn ? h f ( xn , yn )
§1 Euler's Method
Taylor 展开法
yn?1 ? yn ? h f (xn , yn ) n ? 0, 1,...
?
y??xn?1 ??
y??xn ??
hy???xn ??
h2 2
y????xn ??
?
yn?1
?
? hf
?
y
xn ? 1 ,?
??? yn ? 1
?
y ?xn?1 ??? ?
y ?xn ?
?
hy??xn ??
h2 y???xn ??
h3 2
y????xn ??

y ?xn?1 ??
y ?xn ??
就是用差商近似导数
在xn点用一阶向前差 商近似一阶导数
y ?( xn ) ?
y(xn?1) ? h
y(xn )
y(xn?1) ? y(xn ) ? hy?(xn )
Euler's method
? y(xn ) ? yn y(xn?1) ? yn?1 ? yn ? h f (xn , yn )
? 欧拉公式的改进 :
式。隐式公式不能直接求解,一般需要用 Euler 显式公式
得到初值,然后用Euler 隐式公式迭代求解。因此隐式公
式较显式公式计算复杂,但稳定性好(后面分析)。

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

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

2hyxn
2h3 3!
y
yxn1
yxn1 2hyxn
h3 3
y ②
将①、②两式相减:
y
xn1
h3 yn1 3
y
——两步法局部截断误差
18
第19页/共24页
2024年8月7日
(2)梯形公式
yn1
yn
h 2
f
xn , yn
f
xn1 , yn1
yxn
hf
2
xn ,
yn1 yxn1 2hyxn ①
2024年8月7日
17
第18页/共24页
2024年8月7日
将函数用泰勒级数展开:( h 较小, 相差不大)
yxn1
yxn
h 1!
yxn
h2 2!
yxn
h3 3!
y
yxn1
yxn
h
1!
yxn
h2
2!
yxn
h3
3!
y
yxn1
yxn1
yxn
f
xn1 , yxn1
yn1
yxn
h 2
y
xn
yxn1 ①
将函数用泰勒级数展开:
yxn1
yxn
h 1!
yxn
h2 2!
yxn
h3 3!
y ②
yxn1
yxn
h 1!
yxn
h2 2!
y ③
( h 较小, 相差不大)
19
第20页/共24页
2024年8月7日
①、②两式相减,并代入③式:
(图示表示梯形法计算结果)

常微分方程数值解法

常微分方程数值解法

欧拉方法
总结词
欧拉方法是常微分方程数值解法中最基础的方法之一,其基本思想是通过离散化时间点上的函数值来 逼近微分方程的解。
详细描述
欧拉方法基于微分方程的局部线性化,通过在时间点上逐步逼近微分方程的解,得到一系列离散点上 的近似值。该方法简单易行,但精度较低,适用于求解初值问题。
龙格-库塔方法
总结词
影响
数值解法的稳定性对计算结果的精度和可靠 性有重要影响。
判断方法
通过分析数值解法的迭代公式或离散化方法, 判断其是否具有稳定性和收敛性。
数值解法的收敛性
定义
数值解法的收敛性是指随着迭代次数的增加, 数值解逐渐接近于真实解的性质。
影响
数值解法的收敛性决定了计算结果的精度和 计算效率。
分类
根据收敛速度的快慢,可以分为线性收敛和 超线性收敛等。
判断方法
通过分析数值解法的迭代公式或离散化方法, 判断其是否具有收敛性。
误差分析
定义
误差分析是指对数值解法计算过程中 产生的误差进行定量分析和估计的过 程。
分类
误差可以分为舍入误差、截断误差和 初始误差等。
影响
误差分析对于提高计算精度和改进数 值解法具有重要意义。
分析方法
通过建立误差传递公式或误差估计公 式,对误差进行定量分析和估计。
生物学
生态学、生物种群动态和流行病传播 等问题可以通过常微分方程进行建模
和求解。
化学工程
化学反应动力学、化学工程流程模拟 等领域的问题可以通过常微分方程进 行描述和求解。
经济学
经济系统动态、金融市场模拟和预测 等问题可以通过常微分方程进行建模 和求解。
02 常微分方程的基本概念
常微分方程的定义

常微分方程数值解法

常微分方程数值解法


y ( xn 1 ) y ( xn ) hy( xn ) 1 2 1 1 h y( xn ) h3 y ( xn ) y (4) ( xn ) O(h 5 ) 2! 3! 4!
要使y(xn+1)–yn+1= O(h5) ,比较h的同次幂系数,必 有
h : a 1 1 h : a b c d 1 2 h : a 2b 2d 1 h3 : a 3b 3d 1 h 4 : a 4b 4d 1

yn 1 yn hf ( xn , yn ) h yn 1 yn 2 [ f ( xn , yn ) f ( xn 1 , yn 1 )] (n 0,1, 2,)

局部截断误差为O(h3),是二阶方法.
标准四阶Runge-Kutta公式

1 yn 1 yn ( K1 2 K 2 2 K 3 K 4 ) K hf ( x ,6y ) n n 1 h K1 ) K 2 hf ( xn , yn 2 2 K hf ( x h , y K 2 ) n n 3 2 2 K 4 hf ( xn h, yn K 3 )
用Euler预报—校正格式求解初值问题
dy y y 2 sin x 0 dx y (1.2)及y(1.4)的近似值, 小数点后至少保留5位. 解 设f(x,y)=-y-y2sinx , x0=1,y0=1, xn=x0+nh=1+0.2n, Euler预报—校正格式为
h yn 1 yn [ f ( xn , yn ) f ( xn1 , yn1 )] 2 0.2 yn 1 yn [8 3 yn 8 3 yn 1 ] 2

第5章_常微分方程数值解法

第5章_常微分方程数值解法

(5.2.6)
由于方程关于 uk +1 是隐式形式,所以式(5.2.6)称为隐式 Euler 公式。前面显式和隐式 Euler 公式在计
u '(tk ) ≈
得到的递推公式:
u (tk +1 ) − u (tk −1 ) 2h
(5.2.7)
uk +1 ≈ uk −1 + 2hf (tk , uk )
在计算 uk +1 时,需要用到前两步结果 uk −1 , uk ,称为两步法公式。 (2)积分近似方法 将(5.2.1)式的微分方程写成 du = f (t , u )dt ,在区间 [tk , tk +1 ] 上积分,有:
5.2.2 Runge-Kutta 方法 Euler 方法比较简单,但它的收敛阶数低。可以利用 Taylor 展开式构造高阶的单步方法。Euler 公式 可以看成是由一阶 Taylor 展开式得到的,所以应用高阶 Taylor 展开就可以得到高阶单步法。例如:将 u (tk +1 ) 在 tk 处作 q 阶 Taylor 展开:
dy = a − by (t ) dt
是一阶常微分方程,而
2 ∂ 2 u ( x, t ) 2 ∂ u ( x, t ) a = ∂t 2 ∂x 2
(5.1.1)
(5.1.2)
是二阶偏微分方程。 所有使微分方程成为等式的函数,都是微分方程的解;在 n 阶微分方程中,将微分方程的含有 n 个任 意常数的解称为该微分方程的通解。为确定微分方程通解中的任意常数而需要的条件称为定解条件;定解 条件可以分为初始条件和边界条件两类。由微分方程和定解条件一起构成的问题称为微分方程定解问题。 根据定解条件的不同,常微分方程分为初值问题和边值问题;若定解条件是描述函数在一点(或初始 点)处状态的,则称为初值问题,一阶常微分方程初值问题的一般形式为:

《数值分析》第5讲:常微分方程数值解

《数值分析》第5讲:常微分方程数值解

1 2
y(3) ( xn )2 p2h3
o(h4 )
对照
y( xn1 )
yn
y'( xn )h
1 2
y''( xn )h2
第五章:常微分方程数值解

212 p2
1
1
可解得
yn1 yn h(1K1
K1 f ( xn , yn )
2
K
2
)
K
2
f ( xn p , yn
phK1 )
12
第五章:常微分方程数值解
§5.3 Lunge-Kutta方法
依据精度要求的待定系数法
x xn
x n p n1
1、二阶Lunge-Kutta方法(P114-P116)
令 xn p xn ph( xn, xn1), 0 p 1 yn1 yn h(1K1 2 K2 ) 加权平均斜率
K1 f ( xn , yn ) y(x) 在点 ( xn , 的yn斜) 率
例 P107
初值问题
y' y 2x / y
y(0)
1
0 x 1
补 充 : 一 阶 线 性 方 程dy P( x) y Q( x)的 解
dx
常数变易法
y e p( x)dx
Q( x)e
p( x )dx
dx
C
非线性方程 dy P( x) y Q( x) yn Bernoulli型方程 dx
yn1 yn h(1K1 2 K 2 )
yn h[1 y'( xn ) 2 y'( xn p )]
yn
h1 y'( xn ) 2h
1 y'( xn ) 1

第五章常微分方程数值解

第五章常微分方程数值解

3、四级四阶RK法
经典四级四阶RK法(P280),基尔四级四阶RK法(P280)
三、单步法的数值稳定性 ˆn , 若计算 xn 产 生 误 差 n ( n ), 即 实 际 得 到 近 似 值 x
ˆn , 则 用 单 步 法 n xn x xn 1 xn h ( xn , t n , h) 计 算xn 1时 , 将 产 生 误 差 ˆn 1 n 1 xn 1 x ˆn h[ ( xn , t n , h) ( x ˆn , t n , h)] xn x ˆ n , t n , h) 太 依 赖 于 由 于 ( xn , t n , h) ( x f ( x, t ), 估 计 其 大 小很困难。为摆脱这依 种赖性,在讨论方法数 的值 稳定性时,都针对同试 一验模型: x x, 为 复 常 数
t n1 tn
f ( x(t ), t )dt,n 0,1,2,.
(5 - 3)
然后数值积分。 或 采 用 台 劳 展 开 的 方, 法 即hn tn1 tn (tn ) x(tn1 ) x(tn ) hn xn (5 - 4)
然后按精度要求截断。 定义:若计算 xn1只 用 到 前 面 一 步 信 息 xn ,即 算 法 是 xn1 xn hn ( xn , tn , hn )
j 0
m
令k j f ( x(r j ), r j ), j 0 : m. x(t n 1 ) x(t n ) c j k j o(hm 2 ) (*)
j 0 m
取r0 t n, 则k0 f ( x(t n ), t n ), x(r j ) x(r j 1 ) (a j a j 1 )hk j 1 x(t n ) h ( ai ai 1 )ki 1 o( h 2 )

常微分方程数值解法课件

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

常微分方程的数值解

常微分方程的数值解
欧拉方法的公式为$y_{n+1} = y_n + h f(x_n, y_n)$,其中$h$是步长,$f(x, y)$是微分方程的右端函数。
欧拉方法的实现
确定步长和初始值
根据问题的性质和精度要求,选择合适的步长 和初始值。
迭代计算
根据欧拉方法的公式,迭代计算下一个点的值。
终止条件
当达到预设的迭代次数或误差范围时,停止迭代。
常微分方程的应用
总结词
常微分方程在自然科学、工程技术和社会科学等领域有广泛应用。
详细描述
在物理学中,常微分方程可以描述物体的运动规律、电磁波的传播等;在化学中,可以描述化学反应 的动力学过程;在社会科学中,可以用于研究人口增长、经济趋势等。此外,常微分方程还在控制工 程、航空航天等领域有广泛应用。
确定步长和初始值
在应用龙格-库塔方法之前,需要 选择合适的步长和初始值。步长 决定了迭代的精度,而初始值则 用于启动迭代过程。
编写迭代公式
根据选择的步长和初始值,编写 龙格-库塔方法的迭代公式。该公 式将使用已知的函数值和导数值 来计算下一步的函数值。
迭代求解
按照迭代公式进行迭代计算,直 到达到所需的精度或达到预设的 最大迭代次数。
欧拉方法的误差分析
截断误差
由于欧拉方法只使用了微分方程的一次项, 因此存在截断误差。
全局误差
全局误差是实际解与近似解之间的最大偏差。
局部误差
由于每一步都使用了上一步的结果,因此存 在局部误差。
稳定性
欧拉方法是稳定的,但步长和初始值的选择 会影响其稳定性和精度。
04 龙格-库塔方法
龙格-库塔方法的原理
常用的数值解法包括欧拉方法、龙格-库塔方法、改进的欧拉方法、预估 校正方法和步进法等。

数值计算CH5常微分方程数值解法—51引言(基本求解公式

数值计算CH5常微分方程数值解法—51引言(基本求解公式

h5 R(Sk ) 180 16
f (4) (k , y(k ))
将以上求积公式代入(11)式, 并加以处理, 得求解公式:
2021/4/21
23
(一) 矩形求解公式
由 以及 可得
y(xk ) y(xk1)
xk xk 1
f (x, y)dx
xk xk 1
f
(x,
y)dx
hf
( xk 1,
(4)式中区间 [x j , x上j1第] 一等式的一般格式:
1
h
y j1 y j
y(x j
)
h 2
y' ' (
j
)
f
(x
j
,
y
j
)
h 2
y' ' (
j
)

y j1
yj
hf (x j , y j )
h2 2
y''( j )
j 0,1,, n 1
得近似解及误差:
y
j
1
yj
hf
(x j ,
解: 由(9)式, 有
y1
y0
h( y0
2 x0 y0
)
1
0.1(1
20) 1
1.1
y1
y0
h( y1
2 x1 y1
)
1
0.1(1.1
2 0.1) 1.1
1.0918
y2
y1
h( y1
2 x1 y1
)
1.0918
0.1(1.0918
2 0.1 ) 1.0918
1.1827
y2
y1

《数值分析》第五章课件

《数值分析》第五章课件
h
取 h = 0.2 ,要求保留六位小数.
校正: cn+1 = y n + 2 ( y n' + mn' +1 )
解:Euler 迭代格式为
校正的改进:
1 y n +1 = c n +1 + ( p n +1 − c n+1 ) 5
yk +1 = yk + 0.2(− yk − xk yk2 ) = 0.8 yk − 0.2 xk yk2
差分方程:关于未知序列的方程.
例如: y n +3 = 5 y n + 2 − 3 y n +1 + 4 y n
例如: y ' ' ( x) − a ( x) y '+b( x) y + c( x) = 0
3
4
微分方程的应用情况
实际中,很多问题的数学模型都是微分方程. 常微分方程作为微分方程的基本类型之一,在 理论研究与工程实际上应用很广泛. 很多问题 的数学模型都可以归结为常微分方程. 很多偏 微分方程问题,也可以化为常微分方程问题来 近似求解.

可得,
y(xn+1) − yn+1 = hf y (xn+1,η)[ y(xn+1) − yn+1] − h2 '' y (xn ) + O(h3 ) 2
f (xn+1, y(xn+1)) = y' (xn+1) = y' (x n ) + hy'' (xn ) + O(h2 )
19
20
2 考虑到 1 − hf y ( xn+1 ,η ) = 1 + hf y ( xn+1 ,η ) + O(h ) ,则有
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
tn1 tn
f (x(t),t)dt , n 0,1 ,2, .
(5-3)
然后数值积分。 或采用台劳展开的 ,方 即 hn 法 tn1 tn (tn) x(tn1) x(tn) hnxn (5- 4)
然后按精度要求截断。 定义:若 x 只 计用 算到 前 面 x 一 ,即 步 算 信 法 息 是 n 1 n x x h ( x ,t ,h ) n 1 n n n n n
本章只介绍初始问题的解法,原因是初始问题系统科学中 研究的最重要的问题。 §5.2 初始问题的单步法
一、欧拉法 1、显式欧拉法 x n 1 x n h n f n n 0 ,1, 2 , 其中, h n t n 1 t n , f n f ( x n , t n ) 局部截断误差: T x ( t ) ~ x (t
二、龙格-库塔法(RK)
我们的目的是构造更高阶的单步法!
p 1 结论:若单 截 步 断 法 T 误 的 o 差 ( h 局 ), 则 部 此单 n 1
p 步法的整 err 体 o ( 误 h ). 即 差 此单 p 阶 步方 法法 为 n 1
分 析 : 由 x (t n 1 ) x ( t n )
j i 1 j
j 1

x ( t n ) h ( a i a i 1 ) k i 1 o ( h 2 ) x ( t n ) h b ji k i 1
i 1 j
b ji 待 定
k j f ( x ( t n ) h b ji k i 1 , t n a j h )
这样做的根据是:1)对实验模型数值不稳定的方法,不可用; 2)一般的初始问题在其解的存在区域内,可局部线性化转化 为试验方程。
几个常用算法的数值稳定性
1、显式欧拉法的绝对稳 定区域 显式 Euler 用于试验模型的计算公 式为 x n 1 x n h x n (1 h ) x n n 1 (1 h ) n 绝对稳定区域 : 1 h 1 当 为实数时,绝对稳定区 间: h ( 2, 0) 步长 h 不仅要满足算法收敛( o ( h ))限制,而且 还要满足算法数值稳定 性(0 h 2 )限制.
i1
j 1: m
称此结构为m+1级龙格-库塔法。它最多是m+1阶的。
一些常用的显式RK方法 1、二级二阶RK法 改进的欧拉法(p277),中点公式(p278),休恩方法(p278)等。 2、三级三阶RK法 休恩三阶方法(P279),库塔三阶方法(P279)等
3、四级四阶RK法
经典四级四阶RK法(P280),基尔四级四阶RK法(P280)
当 为实数时,绝对稳定区 步长 h 不仅考虑满足算法收敛 还要考虑数值稳定性(
n 1 n 1
~ x ( t n 1 ) x ( t n ) h n f ( x ( t n ), t n ) T n 1 x ( ) 2 hn 2 !!
n 1 )
总体误差: err n 1 x ( t n 1 ) x n 1 x (t n 1 ) ~ x (t n 1 ) ~ x (t n 1 ) x n 1 ~ x (t ) x
4 、经典四级四阶
RK 法的绝对稳定区域 RK 法用于试验模型的计算 公式为
经典四级四阶
(h )2 (h )3 (h )4 x n 1 ( 1 h ) xn 2! 3! 4! (h )2 (h )3 (h )4 n 1 ( 1 h ) n 2! 3! 4! 绝对稳定区域 (h )2 (h )3 (h )4 :( 1 h ) 1 2! 3! 4! 间: h ( 2 . 78 , 0) ( o ( h 2 )) 限制,而且
一 般F (t , x, x,, x( n) ) 0 均 可 化为 dx f ( x, t ) dt 形 式 , 称 此 为标 准 模。 式
例如 d 2 x ( 1 x 2 ) dx x f ( t ) dt dt 2 引入 x 1 x , x 2 dx ,则 dt dx 1 x2 dt dx 2 ( 1 x 12 ) x 2 x 1 f ( t ) dt
第五章 常微分方程数值解 §5.1 问题的提出
常微分方程定解问题 1 、初始问题 dx f ( x , t ), t t 0 dt (5 - 1) x (t0 ) x 0 x ( t ) R n , t t 0 是其解析解。 2 、边值问题 dx f ( x , t ) , a t b (5 - 2) dt x (a ) x a , x (b ) xb x ( t ) R n , a t b 是其解析解。
的绝对稳定区域包含了
A - 稳定的算法,只要
3、改进的欧拉法的绝对 稳定区域 改进的 Euler 用于试验模型的计算公 式为 h 2 h x n 1 x n ( x n x n 1) x n 1 xn 2 2 h n 1 2 h n 2 h 2 h 绝对稳定区域 : 1, 是 A 稳定的。 2 h 当 为实数时,绝对稳定区 间: h ( , 0) 步长 h 只需考虑满足算法收敛 ( o ( h 2 ))限制即可!
对于非线性问题很难求 得解析解 x ( t) 。数值解法 求在给定时刻 t ,t , ,t 的近似值 x ,x , ,x . 然后在利 0 1 n 0 1 n ~ 值逼近的方法得到 x ( t) 得近似 x ( t).
* 初始问题算法的构 微造 分是 方程 5( 1 ) 积 分 方 程 : x(tn1) x(tn)

2、 隐 式 欧 拉 法 的 绝 对 稳
定区域 式为 1 xn 1 h
隐 式 Euler 用 于 试 验 模 型 的 计 算 公 x n 1 x n h x n 1 x n 1
1 n 1 n 1 h 绝对稳定区域 : 1 h 1 当 为实数时,绝对稳定区 步长 h 只需考虑满足算法收敛 定义:一个算法如果它 面的整个左半平面,则 显然,凡是 是绝对稳定的。 称此算法是 间: h ( , 0) ( o ( h )) 限 制 即 可 ! h 复平 A 稳定的。 Re( ) 0, h 0 都
则称之为单步 则 算 为 法 多 。 步 否 算法。
* 边值问题的算法构造方 有限元法等。差分法的
法很多,有差分方法、 例子:
x (1 x 2 ) x x f ( t ), 0 t 1 x ( 0 ) 0 , x (1 ) 1 x ( t i ) 1 ( x i 1 x i ), x ( t i ) 12 ( x i 1 2 x i x i 1 ) h h 12 ( x i 1 2 x i x i 1 ) (1 x i2 ) 1 ( x i 1 x i ) x i f ( t i ) h h i 1:n 1 x 0 0 , 1 ( x n x n 1 ) 1 h 由此解出 x 0 , x1 , , x n .
设 h max( hk , k 1 : n ), M 2 max( x ( t ) , t 0 t t n 1 ), M2 2 则 T n 1 h ,及 2 M2 2 err n 1 h (1 hL ) err n 2 M2 2 n h ( (1 hL ) k ) (1 hL ) n 1 err 0 2 k 0 M 2 2 (1 hL ) n 1 1 M 2 ( n 1) hL err n 1 h (e 1) h 2 hL 2L err n 1 o ( h ) !!
n 1 n 1
x ( t n ) x n h n ( f ( x ( t n ), t n ) f ( x n , t n )) ~ x (t n 1 ) x n 1 x (t n ) x n h n L x (t n ) x n ~ x ( t n 1 ) x n 1 (1 h n L ) x ( t n ) x n err n 1 T n 1 (1 h n L ) err n 其 中 , L 为 f的 李 布 希 兹 常 数
三、单步法的数值稳定性 若计算 x n 产生误差 n ( n ),即实际得到近似值
ˆn , x
ˆ n , 则用单步法 n xn x x n 1 x n h ( x n , t n , h ) 计算 x n 1时,将产生误差 ˆ n 1 n 1 x n 1 x ˆ n h [ ( x n , t n , h ) ( x ˆ n , t n , h )] xn x ˆ n , t n , h ) 太依赖于 f ( x , t ), 估计其大 由于 ( x n , t n , h ) ( x 小很困难。为摆脱这种 依赖性,在讨论方法的 数值 稳定性时,都针对同一 试验模型: x x , 为复常数
以上说明显式欧拉法是一阶收敛的算法
2、隐式欧拉法
xn 1 xn hn f ( xn 1 , t n 1 ) n 0,1,2, 一阶收敛的方法,即 errn 1 o ( h ) 3、改进的欧拉法(隐式) xn 1 xn hn [ f ( xn , t n ) f ( xn 1 , t n 1 )] n 0,1,2, 二阶收敛的方法,即 errn 1 o ( h 2 )。
i 1
j 1:m
(**)
由 式* ( )和式 * * ( )可知:适当选 cj ,取 aj ,b 参 可 数 构造 m 出 1 阶 ji 的显式单步法:
相关文档
最新文档