第六章 微分方程数值解法

合集下载

微分方程的数值解法

微分方程的数值解法
不同的数值微分和数值积分方法、不同的函数插值方
法,就产生了不同的有限差分法与不同的有限元法。
其它数学基础: 数理方程、数值代数、最优化理论与方法等
第一部分 常微分方程初值问题的数值解法
自然界与工程技术中的许多现象,其数学表 达式归结为常微分方程定解问题。 一些偏微分方程问题可以转化为常微分方程 问题来(近似)求解。 常微分方程的数值解法为偏微分方程的数值 解法提供了可供借鉴的思路。 常微分方程数值解法主要分为两大部分:
三 线性多步公式建立的基本思想
利用前面多步的信息计算 un k,以获得较 高精度的数值公式。
设 t n t0 nh ,u (t n ) 的近似值为 u n ,并记 f n f (t n , un ),k步线性多步方法一般形式为
0un 1un 1 k un k h( 0 f n 1 f n 1 k f n k )
2 ˆ ˆ ˆ ˆ ˆ1 , x ˆ2 ) 若 4 A( x1 , x2 )C ( x1 , x2 ) B ( x 为椭圆型偏微分方程
二阶偏微分方程的基本分类方法,可以推广到含 有两个以上自变量的非线性高阶偏微分方程。

初值问题的数值方法 边值问题的数值方法
这里只介绍初值问题。
目的:建立一阶常微分方程初值问题的数值解法。 模型
du f (t , u (t )) dt u (t0 ) u0 t0 t T
设初值问题的解析解 (理论解) 用 u (t n ) 表 示,数值解法的精确解用 u n 表示。其中n=1, 2, ,t n t n 1 hn 。 常微分方程初值问题的数值解是求上述初 值问题的解u(t)在点列 t n t n 1 hn 上的近似值 u n (n 0, 1, ) 。 以下设 hn不变,记为h。

计算物理学(刘金远)课后习题答案第6章:偏微分方程数值解法

计算物理学(刘金远)课后习题答案第6章:偏微分方程数值解法

第6章:偏微分方程数值解法6.1对流方程【6.1.1】考虑边值问题, 01,0(0,)0,(1,)1(,0)t x x u au x t u t u t u x x=<<>ìï==íï=î如果取:2/7x D =,(0.5),1,2,3j x j x j =-D =,8/49t D =,k t k t=D 求出111123,,u u u 【解】采用Crank-Nicolson 方法()11111111211222k k k k k k k k j j j j j j j j u u u u u u u u t x ++++-+-+éù-=-++-+ëûD D 11111113k k k k k kj j j j j j u u u u u u +++-+-+-+-=-+由边界条件:(0,)0x u t =,取100k ku u x-=D ,10,0,1,k ku u k ==L (1,)1u t =,41ku =-1 1 0 0 - (1+2s) -s 0 0 -s (1+2s) -s 0 -s (1+2s) -s 0 s L L L L 101210 0 0 0 (1-2s) s 0 0 s (1-2s) s 0 s ( 1 k n n u u s u u u +-éùéùêúêúêúêúêúêú=êúêúêúêúêúêúêúêúêúëûëûL L L L L 01211-2s) s 0 1 1kn u u u u -éùéùêúêúêúêúêúêúêúêúêúêúêúêúêúêúêúëûëûL 由初始条件:021(72j j u x j ==-,1,2,3j =,212()t s x D ==D -1 1 0 0 0-1 3 -1 0 0 0 -1 3 -1 0 -1 3 -1 0 1012340 0 0 0 01 -1 1 0 00 1 -1 1 0 1 -1 1 1 u u u u u éùéùêúêúêúêúêúêú=êúêúêúêúêúêúëûëû00123 0 1 1u u u u éùéùêúêúêúêúêúêúêúêúêúêúêúêúëûëû000117u u ==,0237u =,0357u =1112327u u -=,111000123123337u u u u u u -+-=-+=,11100234235317u u u u u -+-=-+=114591u =125191u =,136991u =6.2抛物形方程【6.2.1】分别用下面方法求定解问题22(,0)4(1)(0,)(1,)0u u t x u x x x u t u t ì¶¶=ï¶¶ïï=-íï==ïïî01,0x t <<>(1)取0.2x D =,1/6l =用显式格式计算1i u ;(2)取0.2,0.01x t D =D =用隐式格式计算两个时间步。

高等工程数学第六章习题及答案

高等工程数学第六章习题及答案

第6章 常微分方程数值解法 讨论一阶常微分方程初值问题(,),,()dyf x y a x bdx y a η⎧=≤≤⎪⎪⎨⎪=⎪⎩ (6.1.1)的数值解法.数值解法可区分为两大类:(1) 单步法:此类方法在计算1n x + 上的近似值1y n + 时只用到了前一点n x 上的信息.如Euler 法,Runge-Kutta 法,Taylor 级数法就是这类方法的典型代表.(2) 多步法:此类方法在计算1yn +时,除了需要n x 点的信息外,还需要12,,n n x x -- ,等前面若干个点上的信息.线性多步法是这类方法的典型代表.离散化方法1. Taylor(台劳)展开方法2. 化导数为差商的方法3. 数值积分方法一、线性多步法基本思想:是利用前面若干个节点上()y x 及其一阶导数的近似值的线性组合来逼近下一个节点上()y x 的值. 1.一般公式的形式101',,1,,ppn in ii n i i i y a yh b y n p p +--==-=+=+∑∑其中i a ,i b 为待定常数,p 为非负整数.说明:(1)在某些特殊情形中允许任何i a 或i b 为零,但恒假设p a 和p b 不能同时全为零,此时称为1p +步法,它需要1p +个初始值01,,,.p y y y 当0p =时,定义了一类1步法,即称单步法.(2) 若10b -=,此时公式的右端都是已知的,能够直接计算出1n y +,故此时称为显式方法;若10b -≠,则公式的右端含有未知项111'(,),n n n y f x y +++=此时称其为隐式方法.2.逼近准则 准确成立:101()()'(),,1,.ppn in ii n i i i y x a y xh b y x n p p +--==-=+=+∑∑【定义 6.1】 如果对任意()r y x M =,某一线性多步法准确成立,而当()y x 为某一个1r +次多项式时,线性多步法不准确成立,则称此线性多步法是r 阶的. 注:(1)方法的阶越高,逼近效果越好. (2)1p +步法的最高阶可达 22r p =+. 3.线性多步法阶与系数的关系 局部截断误差101()()'(),,1,.ppn n in ii n i i i T y x a y xh b y x n p p +--==-=--=+∑∑()01()'()(),qq n n n q n T c y x c hy x c h y x =++++其中001011011,1[()],1{1[()()2,3,.!pi i p pi i i i p pq q q i i i i c a c i a b c i a i b q q ===--==-⎧=-⎪⎪⎪=--+⎪⎨⎪⎪⎪=--+-=⎪⎩∑∑∑∑∑【定理6.1】 线性多步法是r 阶的充分必要条件是0110,0r r C C C C +====≠称1r C +为误差常数.线性多步法是相容的:满足条件010C C ==,即0011,()1pi i ppiii i a i a b===-⎧=⎪⎪⎨⎪-+=⎪⎩∑∑∑4.线性多步法的构造方法 待定系数法:r 阶方法的系数,iia b 确定,可令010,r CC C ==== 即解下面方程得到1,0()1011()(),2,3,,01p a ii p pi a b i i i i p pq q i a q i q r i i i ⎧=∑⎪⎪=⎪⎪-+=∑∑⎪⎨==-⎪⎪⎪-⎪-+-=∑∑⎪==-⎩二、线性多步法的收敛性 记1(),pp p iii r ra rρ+-==-∑1().pi p ii r b rσ-=-=∑分别称为线性多步法的第一、第二特征多项式.()r ρ以及相应的线性多步法满足根条件:若()r ρ的所有根的模均不大于1,且模为1的根是单根。

常微分方程数值解法_OK

常微分方程数值解法_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)

东南大学_数值分析_第六章_常微分方程数值解法

东南大学_数值分析_第六章_常微分方程数值解法

第六章 常微分方程数值解法——RK 4法、AB 4法******(学号) *****(姓名)上机题目要求见教材P307,23题。

一、算法原理题目要求采用RK 4法和AB 4法求解最简单的常微分方程初值问题(,),()y f x y a x by a η'=≤≤⎧⎨=⎩ (1)为求解式(1),采用离散化方法,就是寻求解)(x y 在区间],[b a 上的一系列点<<<<<n x x x x 321上的近似值 ,,,,21n y y y 。

记1(1,2,)i i i h x x i -=-=表示相邻两个节点的间距,称为步长。

求微分方程数值解的主要问题:(1) 如何将微分方程(,)y f x y '=离散化,并建立求其数值解的递推公式; (2) 递推公式的局部截断误差、数值数n y 与精确解)(n x y 的误差估计; (3) 递推公式的稳定性与收敛性. a) Runge-Kutta 方法基本思想:通过在1[,]i i x x +多预报几个点求斜率,并将其加权平均作为k *的近似值,以此构造更高精度的计算公式。

如果每步计算四次函数 的值,完全类似的,可以导出局部截断误差为)(5h O 的四阶Runge-Kutta 公式(RK 4):1123412132431(22),6(,),(,),221(,),22(,).n n n n n n n n n n y y k k k k k f x y h h k f x y k h k f x h y k k f x h y hk +⎧=++++⎪⎪=⎪⎪⎪=++⎨⎪⎪=++⎪⎪=++⎪⎩ (2)b) Adams 显式公式Runge-Kutta 方法是单步法,计算1+n y 时,只用到n y , 而已知信息1-n y 、2-n y 等没有被直接利用。

可以设想如果充分利用已知信息1-n y ,2-n y ,…来计算1+n y ,那么不但有可能提高精度,而且大大减少了计算量,这就是构造所谓线性多步法的基本思想。

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

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

对y′=f(x,y)等式两边在(xi,xi+1)上取积分
xi1y'dx xi1 f(x,y(x)d ) x
xi
xi
《 计 算
y(xi1)y(xi)xxii1f(x,y(x)d ) x
方 法
(xi+1,yi+1)

(xi,yi)
xi
xi+1
第6章 常微分方程数值解法
xi 1
方 法
i0,1,2,...

(xi+1,yi+1)
这样得到的点列仍
(xi,yi)
为一折线,只是用 平均斜率来代替原
来一点处的斜率。
xi
xi+1
改进的欧拉公式,又称为梯形公式
第6章 常微分方程数值解法
《 计 算 方 法 》
第6章 常微分方程数值解法
不难发现:
欧拉公式 yi+1=yi +hf(x i,yi)
《 初值问题(6.1)(6.2)的数值解法的基本特点是:


求解过程顺着节点排列的顺序一步步向前推进,

法 》
也即按递推公式由y0,y1…..yi推yi+1,下面各种方法的
实质是建立递推公式。
第6章 常微分方程数值解法
§2 欧拉法和改进的欧拉法
一、欧拉方法
1. 基本思想

计 算
区间[a,b]上给定n+1个点x0,x1,x2,……xn


0.8 0.587322 0.527792
1.0 0.399383 0.367879
1.2 0.239630 0.236938
可见欧拉法的精度是很差的

第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

《微分方程的数值解》课件

《微分方程的数值解》课件
积分法:将微分方程离散化为积分方 程,然后求解
谱方法:将微分方程离散化为谱方程, 然后求解
边界元法:将微分方程离散化为边界 元方程,然后求解
有限元法:将微分方程离散化为有限 元方程,然后求解
网格法:将微分方程离散化为网格方 程,然后求解
数值解法的步骤
确定微分方程的初值 和边界条件
选择合适的数值解法, 如欧拉法、龙格-库塔 法等
实解
应用:广泛应 用于工程、物 理、化学等领

优缺点:优点 是计算速度快, 缺点是精度较

非线性方程的数值解法
牛顿法:通过迭 代求解非线性方 程
拟牛顿法:通过 迭代求解非线性 方程,比牛顿法 收敛更快
割线法:通过迭代 求解非线性方程, 适用于求解单变量 非线性方程
迭代法:通过迭 代求解非线性方 程,适用于求解 多维非线性方程
05 数值解法的实现
M AT L A B 编 程 实 现
MATLAB简介: MATLAB是一种高 级编程语言,广泛 应用于科学计算、 数据分析等领域
数值解法:包括欧 拉法、龙格-库塔 法、四阶龙格-库 塔法等
MATLAB实现:使 用MATLAB编写程 序,实现数值解法 的计算
示例代码:给出 MATLAB实现数值 解法的示例代码, 并解释其含义和作 用
设定时间步长和空间 步长
计算微分方程的解, 并进行误差分析
绘制解的图形,并进 行结果分析
对比不同数值解法的 优缺点,选择最优解 法
04 常用的数值解法
欧拉方法
基本思想:将微分 方程转化为差分方 程,然后求解差分 方程
优点:简单易行, 适用于初值问题
缺点:精度较低, 稳定性较差
改进方法:改进欧 拉方法,如改进欧 拉方法、龙格-库 塔方法等
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

得堡科学院从事研究工作,在分析学、
数论、力学方面均有出色成就,并应 俄国政府要求,解决了不少地图学、 造船业等实际问题。 24岁晋升物理学教授。
1735年(28岁)右眼失明。
1741年 - 1766(34岁-59岁)任德国科学院物理数学所所
长,任职25年。在行星运动、刚体运动、热力学、弹道学、人 口学、微分方程、曲面微分几何等研究领域均有开创性的工作。 1766年应沙皇礼聘重回彼得堡,在1771年(64岁)左眼失 明。 Euler是数学史上最多产的数学家,平均以每年800页的速 度写出创造性论文。他去世后,人们用35年整理出他的研究成
5、微分方程的数值解法需要解决的主要问题
(1) 如何将微分方程离散化,并建立求其数值解的迭代公式?
(2) 如何估计迭代公式的局部截断误差与整体误差? (3) 如何保证迭代公式的稳定性与收敛性?
二、初值问题解的存在唯一性
考虑一阶常微分方程的初值问题 /* Initial-Value Problem */:
隐式欧拉法的局部截断误差:
Ri y( xi 1 ) yi 1
h y( xi ) O(h3 ) 2
2
即隐式欧拉公式具有 1 阶精度。
梯形公式 /*trapezoid formula */
— 显、隐式两种算法的平均
h yi 1 yi [ f ( xi , yi ) f ( xi 1 , yi 1 )] ( i 0, ... , n 1) 2
可用来检验近似解的准确程度。 从上表最后一列,我们看到取步长 h 0.1
进行计算,数值解已达到了一定的精度。
3、 欧拉公式的改进: 隐式欧拉法 /* implicit Euler method */
向后差商近似导数
y( x1 ) y( x1 ) y( x0 ) h
y ( x1 ) y 0 h f ( x1 , y ( x1 ))
yk y( xk ) k 1,2,, n 工程师关注
解的光滑性 yk y( xk ) 解的振动性 * 解的周期性
数学界关注
y y解的稳定性 ( x)
解的混沌性 ……
所谓数值解法:
求函数 y(x) 在一系列节点 a = x0< x1<…< xn= b 处的近似值
yi y( xi ) (i 1, ... , n)
3 R y x y O h 注:梯形公式的局部截断误差 i i 1 i 1 ,
即梯形公式具有2 阶精度,比欧拉方法有了进步。 但注意到该公式是隐式公式,计算时不得不用到
迭代法,其迭代收敛性与欧拉公式相似。
中点欧拉公式 /* midpoint formula */
中心差商近似导数
算法有p 阶精度。
欧拉法的局部截断误差:
yi y( xi )
y '( xi ) f ( xi , y( xi ))
Ri y( xቤተ መጻሕፍቲ ባይዱ 1 ) yi 1
[ y( xi ) hy( xi )
h2 2
y( xi ) O(h3 )] [ yi hf ( xi , yi )]
果74卷。
2、欧拉法的局部截断误差
定义2.1 在假设 yi = y(xi),即第 i 步计算是精确的前提
下,考虑的截断误差 Ri = y(xi+1) yi+1 称为局部截断 误差 /* local truncation error */。
定义2.2 若某算法的局部截断误差为O(hp+1),则称该
dy f ( x, y) dx y ( a ) y0 x [a , b ]
只要 f ( x, y) 在a, b R1上连续, 且关于 y 满足 Lipschitz 条件, 即存在与 x, y 无关的常数 L 使
| f ( x, y1 ) f ( x, y2 ) | L | y1 y2 |
L 0
s.t.
f ( x, y1 ) f ( x, y2 ) L y1 y2 , x [a, b], y1 , y2 [ y ( x) , y ( x) ]
4、 迭代格式的构造
(1) 构造思想:将连续的微分方程及初值条件离散为线性方程 组加以求解。由于离散化的出发点不同,产生出各种不同的数 值方法。基本方法有:有限差分法(数值微分)、有限体积法 (数值积分)、有限元法(函数插值)等等。 (2) 一般构造方法: 离散点函数值集合 + 线性组合结构 → 近似公式
·····
pk
pn pn1
p0
Euler格式
yn1 yn f ( xn , yn ) xn1 xn
yn1 yn hf ( xn , yn )
x0 x1 xk xn xn 1
18世纪最杰出的数学家之一,13岁 时入读巴塞尔大学,15岁大学毕业, 16岁获得硕士学位。 1727年-1741年(20岁-34岁)在彼
第6章
§6.1 §6.2
常微分方程数值解法
引 言 欧拉方法
§6.3
龙格—库塔方法
§6.1 引 言
微分方程数值解一般可分为:常微分方程数值解和偏微分 方程数值解。自然界与工程技术中的许多现象,其数学表达式 可归结为常微分方程(组)的定解问题。一些偏微分方程问题 也可以转化为常微分方程问题来(近似)求解。Newton最早采 用数学方法研究二体问题,其中需要求解的运动方程就是常微 分方程。许多著名的数学家,如 Bernoulli(家族),Euler、 Gauss、Lagrange和Laplace等,都遵循历史传统,研究重要 的力学问题的数学模型,在这些问题中,许多是常微分方程的 求解。作为科学史上的一段佳话,海王星的发现就是通过对常 微分方程的近似计算得到的。本章主要介绍常微分方程数值解 的若干方法。
的方法称为微分方程的数值解法。
y1 ,, yn 称为微分方程的数值解。
称节点间距 hi xi 1 xi (i 0, ... , n 1) 为步长,
通常采用等距节点,即取 hi = h (常数)。
3、相关定义 记 D {( x, y) a x b, y( x) y y( x) } 称 f ( x, y) 在区域D上对 y 满足Lipschitz条件是指:
方 法 显式欧拉 隐式欧拉 梯形公式 中点公式
简单 稳定性最好
精度提高 精度提高, 显式

精度低 精度低, 计算量大
计算量大 多一个初值, 可能影响精度

改进欧拉法 /* modified Euler’s method */
Step 1: 先用显式欧拉公式作预测,算出
yn1 yn hf xn , yn
sin y
,
y' e
x 2 xy
等等
2、数值解的思想
如果找不到解函数
(1)将连续变量 x [a , b] 离散为 数学界还关注:
a x0 x1 xk xn解的存在性 b
y( x ) 在 xk 点的近似值 (2)用代数的方法求出解函数 y 解的唯一性
一、初值问题的数值解法
1、常微分方程与解
如果函数 y y( x ) 在区间[a,b]内n阶可导,称方程
F ( x, y, y' , y'' ,, y( n) ) 0
为n阶常微分方程。
满足方程的函数 y y( x ) 称为微分方程的解。 如
y' 2 x
2 y x C , (C为任意常数) 则
y' f ( x , y ) y ( x 0 ) y0
定解条件(初始条件)
是否能够找到定解问题的解取决于 f ( x , y )
仅有极少数的方程可以通过“常数变易法”、“可分
离变量法”等特殊方法求得初等函数形式的解,绝大
部分方程至今无法理论求解。

y' sin(xy ),
2
y' 1 x
§6.2 Euler方法 1、Euler格式
第一步:连续变量离散化
y' f ( x , y ) y ( x 0 ) y0
x x0 , x1 ,, xk , xn ,
p1
第二步:用直线步进
y1 y0 f ( x0 , y0 ) x1 x0
y2 y1 f ( x1 , y1 ) x2 x1
h2 3 y ( xi ) O(h ) 2
O(h )
2
Ri 的主项
/* leading term */
欧拉法具有 1 阶精 度。
例1: 用欧拉公式求解初值问题
2 y 2 xy y 0 1
(0 x 1.2)
取步长 h 0.1。 解: 应用Euler公式于题给初值问题的具体形式为:
y xi yi
0.009901 0.018462 0.024153 0.026320 0.025250 0.021852 0.017213 0.012262 0.007626 0.003642 0.000422 0.002053
2 这个初值问题的准确解为 y x 1 1 x ,
yi
1.000000 0.980000 0.941584 0.888389 0.825250 0.757147 0.688354 0.622018 0.560113 0.503642 0.452911 0.407783
y xi
0.990099 0.961538 0.917431 0.863069 0.800000 0.735294 0.671141 0.609756 0.552486 0.500000 0.452489 0.409836
相关文档
最新文档