第8章 常微分方程数值解法2

合集下载

常微分方程数值解法欧拉法学习教案

常微分方程数值解法欧拉法学习教案

第16页/共32页
第十七页,共32页。
梯形法的迭代(dié dài)计算和收敛性 收敛性
§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,
x
y(x) y0 f t, y t dt
说明(shuōmíng)
第6页/共32页
第七页,共32页。
§1 Euler’s Method
截断误差: 实际上,y(xn) yn, yn 也有误差,它对yn+1的误差也有影 响,见下图。但这里不考虑此误差的影响,仅考虑方法(fāngfǎ)或公式 本身带来的误差,因此称为方法(fāngfǎ)误差或截断误差。
[ yn hf (xn , yn )]
Rn+1 的主项(zhǔ xiànɡ) /* leading term*/
h2 2
y(xn )
O(h3 )
第7页/共32页
第八页,共32页。
§1 Euler’s Method
定义 若某算法的局部截断误差为O(hp+1),则称该算法有p
阶精度。
欧拉法具有
第14页/共32页
第十五页,共32页。
比较(bǐjiào)尤拉显式公式和隐式公式及其局部截断误差
§1 Euler’s Method
显式公式(gōngshì)
yn1 yn h f (xn , yn )
n 0, 1,...

常微分方程的常见解法

常微分方程的常见解法

# 定义网格密度
arrows=LINE,
# 定义线段类型
axes=NORMAL);
# 定义坐标系类型
在MATLAB的向量场命令为 quiver(x,y,px,py)
回车后Maple就在1 1 的网格点上画出了向量场
44
的图形,并给出了过点(-2, 2) (-2 ,1) (-2,2) 的三
条积分曲线,见下图
M (x,y)co x s2xye , y
N (x,y)co x s2xye x
M(x,y)N(x,y)
y
x
所以方程为全微分方程。
由公式F (x ,y ) 0M (s ,y )d s 0N (0 ,s )d s
x(yc o ss 2 se y)d sy2 d s
0
0
ysinxx2ey2y

x
y
F (x ,y )x 0M (s ,y ) d s y 0N (x 0 ,s ) d
s
例:验证方程
( y c o s x 2 x e y ) d x ( s i n x x 2 e y 2 ) d y 0
是全微分方程,并求它的通解。 解:由于 M (x ,y ) y c o sx 2 x e yN (x ,y ) s in x x 2 e y 2
dx
令 zy1n,则 dz(1n)yndy
dx
dx
d z (1 n )P (x )z (1 n )Q (x )
d x
求出此方程通解后, 换回原变量即得伯努利方程的通解。
例 湖泊的污染
设一个化工厂每立方米的废水中含有3.08kg盐酸, 这些废水流入一个湖泊中,废水流入的速率20 立方米每小时. 开始湖中有水400000立方米. 河水 中流入不含盐酸的水是1000立方米每小时, 湖泊 中混合均匀的水的流出的速率是1000立方米每小 时,求该厂排污1年时, 湖泊水中盐酸的含量。 解: 设t时刻湖泊中所含盐酸的数量为 x ( t )

微分方程的解

微分方程的解
[x,y]=dsolve('Dx+5*x+y=exp(t),Dy-x-3*y=0',... 'x(0)=1,y(0)=0','t') x=simple(x) y=simple(y) ezplot(x,y,[1,1.3])
微分方程数值解
dy f ( x, y ) x [ a , b ] dx y ( a ) y0
ode23tb 刚性 刚性 分;精度中等 尝试使用 单步法;2 阶Rosebrock 算 当精度较低时,计算时 间比 ode15s 短 法;低精度 梯形算法;低精度 当精度较低时,计算时 间比ode15s短
注意: 1、在解n个未知函数的方程组时,y0和y均为n维向量, m-文件中的待解方程组应以x的分量形式写成. 2、如果需求解的问题是高阶常微分方程,则需将其化 为一阶常微分方程组,此时需用函数文件来定义该常微 分方程组. 3、odefun 为显式常微分方程,可以用命令inline 定义,或在函数文件中定义,然后通过函数句柄调用.
k k
几何意义
亦称为欧拉折线法
/* Euler’s polygonal arc method*/
Euler 折线法举例
例6:用 Euler 法解初值问题 2x dy y 2 y x [0, 2 ] dx y(0) 1 解:取步长 h = (2 - 0)/n = 2/n,得差分方程
n
等距剖分: a x 0 x1 x 2 x n 1 x n b 步长:h x k 1 x k ( b a ) / n , 差商代替微商
y ( x k 1 ) y ( x k ) dy y ( x k 1 ) y ( x k ) h y '( x k ) dx x h k y0 y ( x 0 ) k = 0, 1, 2, ..., n-1 得方程组: y k 1 y k h f ( x k , y k ) x x h y 是 y (x ) 的近似 k k 1

微分方程数值解

微分方程数值解

毕业论文(设计)内容介绍论文(设计)题目微分方程数值解选题时间2010.11.20完成时间2011.3.9论文(设计)字数33840关键词微分方程,周期解,边值问题论文(设计)题目的来源、理论和实践意义:微分方程是数学科学联系实际问题的主要桥梁之一,它是含有未知函数及其导数的方程。

常微分方程的求解是现代科学研究和工程技术中经常遇到的实际问题,然而,从实际问趣中建立出来的微分方程往往具有非常复杂的形式,有些解析式难以计算,有些则根本不能用解析式来表达,所以利用数值解法‘叫求解实际问题就显得非常重要。

论文(设计)的主要内容及创新点:如果未知函数的自变量是一个,称为常微分方程;自变量多于一个,称为偏微分方程。

在科学研究和工程计算中碰到的许多微分方程,根本不存在解析解,或者求解析解的代价很大,求解过程过于复杂,在这种情况下,我们只能借助于数值计算来求方程的数值解。

附:论文(设计)本人签名:年月日目录中文摘要 (5)第一章常微分方程的解 (6)第一节常微分方程的基本概念 (6)第二节常微分方程的12步骤 (10)第三节偏导数的方程 (14)第二章递增方程的应用 (17)第一节递增数列 (17)第二节数列的极限 (20)第三章与积分有关的数列的极限问题 (24)第一节积分的应用 (24)第二节单调定性的松弛法 (26)第三节松弛算法法的证明 (33)第四章简单的单步法及基本概念 (36)第一节解初值问题的梯形法 (36)第二节左矩形公式 (39)第三节隐式Euler方法 (40)第四节预估–校正Euler方法 (42)参考文献 (45)摘要:常微分方程的形成和发展是与力学、天文学、物理学及其他自然科学技术的发展互相促进和互相推动的。

本文第一章讲述了常微分方程的发展历史,第二章介绍了一系列常微分方程的周期解和边值问题,说明了其研究现状,第三章举例说明了其在生态学和军事上的应用。

无论在数学研究还是在自然科学以及其他应用科学,常微分方程都显现出其重要的理论和应用价值。

微分方程数值解法

微分方程数值解法

微分方程数值解法微分方程数值解法微分方程数值解法【1】摘要:本文结合数例详细阐述了最基本的解决常微分方程初值问题的数值法,即Euler方法、改进Euler法,并进行了对比,总结了它们各自的优点和缺点,为我们深入探究微分方程的其他解法打下了坚实的基础。

关键词:常微分方程数值解法 Euler方法改进Euler法1、Euler方法由微分方程的相关概念可知,初值问题的解就是一条过点的积分曲线,并且在该曲线上任一点处的切线斜率等于函数的值。

根据数值解法的基本思想,我们取等距节点,其中h为步长,在点处,以为斜率作直线交直线于点。

如果步长比较小,那么所作直线与曲线的偏差不会太大,所以可用的近似值,即:,再从点出发,以为斜率作直线,作为的近似值,即:重复上述步骤,就能逐步求出准确解在各节点处的近似值。

一般地,若为的近似值,则过点以为斜率的直线为:从而的近似值为:此公式就是Euler公式。

因为Euler方法的思想是用折线近似代替曲线,所以Euler方法又称Euler折线法。

Euler方法是初值问题数值解中最简单的一种方法,由于它的精度不高,当步数增多时,由于误差的积累,用Euler方法作出的折线可能会越来越偏离曲线。

举例说明:解: ,精确解为:1.2 -0.96 -1 0.041.4 -0.84 -0.933 0.9331.6 -0.64 -0.8 0.161.8 -0.36 -0.6 0.242.0 0 -0.333 0.332.2 0.44 0 0.44通过上表可以比较明显地看出误差随着计算在积累。

2、改进Euler法方法构造在常微分方程初值问题 ,对其从到进行定积分得:用梯形公式将右端的定积分进行近似计算得:用和来分别代替和得计算格式:这就是改进的Euler法。

解:解得:由于 ,是线形函数可以从隐式格式中解出问题的精确解是误差0.2 2.421403 2.422222 0.000813 0.021400.4 2.891825 2.893827 0.00200 0.051830.6 3.422119 3.425789 0.00367 0.094112.0 10.38906 10.43878 0.04872 1.1973通过比较上表的第四列与第五列就能非常明显看出改进Euler方法精度比Euler方法精度高。

微分方程和偏微分方程的数值解法

微分方程和偏微分方程的数值解法
期权定价模型
描述金融衍生品的定价过程,如布莱克-舒尔斯模型就是一个偏微分方程。通过求解该 方程,可以得到期权的理论价格以及相应的风险参数。
投资组合优化
在投资组合理论中,常使用微分方程来描述资产价格的动态变化和投资者的风险偏好。 通过求解这些方程,可以得到最优的投资组合配置策略以实现风险与收益的平衡。
数值解法需要保证稳定性和收敛 性,即当离散间隔趋近于零时, 数值解应趋近于真实解。
02
常微分方程的数值解法
欧拉方法
基本思想
通过逐步逼近的方式,利用已知点的信 息来推测下一个点的信息。
公式推导
基于泰勒级数展开,忽略高阶项得到近 似公式。
优缺点
简单易懂,但精度较低,仅适用于简单 问题。
改进方法
采用改进的欧拉方法或预估-校正法提 高精度。
物理问题中的微分方程和偏微分方程
牛顿第二定律
描述物体运动的基本定律,可以 表示为二阶常微分方程。通过求 解该方程,可以得到物体的位移 、速度和加速度等运动学量。
热传导方程
描述热量在物体内部传递的过程 ,是一个偏微分方程。通过求解 该方程,可以得到物体内部的温 度分布以及热量的传递速率。
波动方程
描述波动现象(如声波、光波等 )的传播过程,是一个二阶偏微 分方程。通过求解该方程,可以 得到波的传播速度、振幅、频率 等波动特性。
工程问题中的微分方程和偏微分方程
结构力学中的弹性力学方程
描述结构在受力作用下的变形和应力分布,是一个偏微分方程。通过求解该方程,可以得到结构的位移、应 力和应变等力学量,为工程设计提供重要依据。
流体力学中的纳维-斯托克斯方程
描述流体运动的基本方程,是一个偏微分方程。通过求解该方程,可以得到流体的速度、压力和温度等流场 特性,为流体机械设计和优化提供指导。

微分方程的数值解法

微分方程的数值解法微分方程是描述自然界中众多现象和规律的重要数学工具。

然而,许多微分方程是很难或者无法直接求解的,因此需要使用数值解法来近似求解。

本文将介绍几种常见的微分方程数值解法。

1. 欧拉方法欧拉方法是最简单的数值解法之一。

它将微分方程转化为差分方程,通过计算离散点上的导数来逼近原方程的解。

欧拉方法的基本思想是利用当前点的导数值来估计下一个点的函数值。

具体步骤如下:首先,将自变量区间等分为一系列的小区间。

然后,根据微分方程的初始条件,在起始点确定初始函数值。

接下来,根据导数的定义,计算每个小区间上函数值的斜率。

最后,根据初始函数值和斜率,递推计算得到每个小区间上的函数值。

2. 龙格-库塔方法龙格-库塔方法是一种常用的高阶精度数值解法。

它通过进行多次逼近和修正来提高近似解的准确性。

相比于欧拉方法,龙格-库塔方法在同样的步长下可以获得更精确的解。

具体步骤如下:首先,确定在每个小区间上的步长。

然后,根据微分方程的初始条件,在起始点确定初始函数值。

接下来,根据当前点的导数值,使用权重系数计算多个中间点的函数值。

最后,根据所有中间点的函数值,计算出当前点的函数值。

3. 改进欧拉方法(改进的欧拉-克罗默法)改进欧拉方法是一种中阶精度数值解法,介于欧拉方法和龙格-库塔方法之间。

它通过使用两公式递推来提高精度,并减少计算量。

改进欧拉方法相对于欧拉方法而言,增加了一个估计项,从而减小了局部截断误差。

具体步骤如下:首先,确定在每个小区间上的步长。

然后,根据微分方程的初始条件,在起始点确定初始函数值。

接下来,利用欧拉方法计算出中间点的函数值。

最后,利用中间点的函数值和斜率,计算出当前点的函数值。

总结:微分方程的数值解法为我们研究和解决实际问题提供了有力的工具。

本文介绍了欧拉方法、龙格-库塔方法和改进欧拉方法这几种常见的数值解法。

选择合适的数值解法取决于微分方程的性质以及对解的精确性要求。

在实际应用中,我们应该根据具体情况选择最合适的数值解法,并注意控制步长以尽可能减小误差。

matlab_常微分方程数值解法

d2x 2x2 0
dt 2
简朴问题可以求得解析解,多数实际问题靠数值求解 。
第4页
一阶常微分方程(ODE )初值问题 : ODE :Ordinary Differential Equation
dy
f
(x,
y)
dx
x0 x xn
y(x0 ) y0
数值解法就是求y(x)在某些分立旳节点 xn 上旳近似值 yn,用以近似y(xn)
x0
y0
x1 f y(x), x dx
x0
x2 f y(x), x dx
x1
y(x1) f y(x1), x1 h
第17页
同样,在[x0,xn+1] ,积分采用矩形近似,得:
y(xn1) y0
f xn1
x0
y(x), x dx
y(xn ) f y(xn ), xn h
yn y(xn )
第5页
2、欧拉近似办法
2.1 简朴欧拉(L.Euler, 1707-1783)办法。
dy
dx
f
(y, x)
y(x0 ) y0
欧拉数值算法就是由初值通过递推求解,递推求解
就是从初值开始,后一种函数值由前一种函数值得到。核 心是构造递推公式。
y0 y1 y2 yn
第6页
i 1,2,...
第36页
没有一种算法可以有效地解决所有旳 ODE 问题,因此 MATLAB 提供了多种ODE函数。
函数 ODE类
特点
阐明

ode45
非刚性 单步法;4,5 阶 R-K 措施;合计 大部分场合旳首选措施
截断误差为 (△x)3
ode23
非刚性 单步法;2,3 阶 R-K 措施;合计 使用于精度较低旳情形

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

常微分方程数值解法

n

h
2
所以,只要令
2
f
xn
f n f yn O ( h )
3
1+2=1, 2=1/2, 2=1/2
(7.4)
若取=1,则得1=2=1/2,=1,此时公式(8.3)就是改进的 Euler公式; 若取1=0,则得2=1,==1/2,公式(8.3)为
y n 1 y n hK 2 K 1 f (xn , yn ) K f ( x 1 h, y 2 n n 2
……
……
f ( x n P h, y n h
i 1
p 1
pi
Ki)
其中i,i,ij为待定参数. 若此公式的局部截断误差为
O(h3),称此公式为p阶Runge-kutta方法,简称p阶R-K方法.
对于p=2的情形, 应有
K 1 f (xn , yn ) K f ( x h , y hK ) n n 1 2
显式表示出来,称这类差分公式为显式公式,而梯形公式中,
需要更多的计算量,但其计算稳定性较好.
§2 改进的Euler方法和Taylor展开方法
§2.1 改进的Euler方法 从数值积分的角度来看,梯形公式
y0
y n 1 y n h 2 , n 0 ,1, 2 , N 1 [ f ( x n , y n ) f ( x n 1 , y n 1 )]
2
1
分别取步长h=0.2 ,0.1 ,0.05,计算结果如下
h
h=0.2
h=0.1
h=0.05
xn 0.00 0.40 0.80 1.20 1.60 2.00 0.00 0.40 0.80 1.20 1.60 2.00 0.00 0.40 0.80 1.20 1.60 2.00
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档