第4章--常微分方程数值解法
常微分方程的数值解法实验报告

常微分方程的数值解法专业班级:信息软件 姓名:吴中原 学号:120108010002 一、实验目的1、熟悉各种初值问题的算法,编出算法程序;2、明确各种算法的精度与所选步长有密切关系;通过计算更加了解各种 算法的优越性。
二、实验题目1、根据初值问题数值算法,分别选择二个初值问题编程计算;2、试分别取不同步长,考察某节点j x处数值解的误差变化情况; 3、试用不同算法求解某初值问题,结果有何异常; 4、分析各个算法的优缺点。
三、实验原理与理论基础(一) 欧拉法算法设计对常微分方程初始问题(6-1)(6-2)用数值方法求解时,我们总是认为(6-1)、(6-2)的解存在且唯一。
欧拉法是解初值问题的最简单的数值方法。
从(6-2)式由于y (x 0) = y 0已给定,因而可以算出),()('000y x f x y =。
设x 1 = h 充分小,则近似地有:),()(')()(00001y x f x y hx y x y =≈-(6-3)记 ,n ,,i x y y i i 10 )(== 从而我们可以取),(0001y x hf y y ==作为)(1x y 的近似值。
利用1y 及f (x 1, y 1)又可以算出)(2x y 的近似值:),(1112y x hf y y +=一般地,在任意点()h n x n 11+=+处)(x y 的近似值由下式给出),(1n n n n y x hf y y +=+(6-4)这就是欧拉法的计算公式,h 称为步长。
⎪⎩⎪⎨⎧==)( ),(d d 00y x y y x f x y(二)四阶龙格-库塔法算法设计:欧拉公式可以改写为:()111,i i i i y y k k hf x y +=+⎧⎪⎨=⎪⎩,它每一步计算(),f x y 的值一次,截断误差为()2o h 。
改进的欧拉公式可以改写为:()()()11212112,,i i i i i i y y k k k hf x y k hf x h y k +⎧=++⎪⎪=⎨⎪=++⎪⎩,它每一步要计算(),f x y 的值两次,截断误差为()3o h 。
常微分方程的数值解法

常微分方程的数值解法在自然科学的许多领域中,都会遇到常微分方程的求解问题。
然而,我们知道,只有少数十分简单的微分方程能够用初等方法求得它们的解,多数情形只能利用近似方法求解。
在常微分方程课中已经讲过的级数解法,逐步逼近法等就是近似解法。
这些方法可以给出解的近似表达式,通常称为近似解析方法。
还有一类近似方法称为数值方法,它可以给出解在一些离散点上的近似值。
利用计算机解微分方程主要使用数值方法。
我们考虑一阶常微分方程初值问题⎪⎩⎪⎨⎧==00)(),(yx y y x f dx dy在区间[a, b]上的解,其中f (x, y )为x, y 的已知函数,y 0为给定的初始值,将上述问题的精确解记为y (x )。
数值方法的基本思想是:在解的存在区间上取n + 1个节点b x x x x a n =<<<<= 210这里差i i i x x h -=+1,i = 0,1, …, n 称为由x i 到x i +1的步长。
这些h i 可以不相等,但一般取成相等的,这时na b h -=。
在这些节点上采用离散化方法,(通常用数值积分、微分。
泰勒展开等)将上述初值问题化成关于离散变量的相应问题。
把这个相应问题的解y n 作为y (x n )的近似值。
这样求得的y n 就是上述初值问题在节点x n 上的数值解。
一般说来,不同的离散化导致不同的方法。
§1 欧拉法与改进欧拉法 1.欧拉法1.对常微分方程初始问题(9.2))((9.1) ),(00⎪⎩⎪⎨⎧==y x y y x f dx dy用数值方法求解时,我们总是认为(9.1)、(9.2)的解存在且唯一。
欧拉法是解初值问题的最简单的数值方法。
从(9.2)式由于y (x 0) = y 0已给定,因而可以算出),()('000y x f x y =设x 1 = h 充分小,则近似地有:),()(')()(00001y x f x y hx y x y =≈-(9.3)记 ,n ,,i x y y i i 10 )(== 从而我们可以取),(0001y x hf y y ==作为y (x 1)的近似值。
常微分方程的数值解

f ( x, y1 ) f ( x, y2 ) L y1 y2
(其中 L 为 Lipschitz 常数)则初值问题( 1 )存 在唯一的连续解。
求问题(1)的数值解,就是要寻找解函数在一 系列离散节点x1 < x2 <……< xn < xn+1 上的近似 值y1, y 2,…,yn 。 为了计算方便,可取 xn=x0+nh,(n=0,1,2,…), h称为步长。
(1),(2)式称为初值问题,(3)式称为边值问题。 在实际应用中还经常需要求解常微分方程组:
f1 ( x, y1 , y2 ) y1 ( x0 ) y10 y1 (4) f 2 ( x, y1 , y2 ) y2 ( x0 ) y20 y2
本章主要研究问题(1)的数值解法,对(2)~(4)只 作简单介绍。
得 yn1 yn hf ( xn1 , yn1 )
上式称后退的Euler方法,又称隐式Euler方法。 可用迭代法求解
二、梯形方法 由
y( xn1 ) y( xn )
xn1 xn
f ( x, y( x))dx
利用梯形求积公式: x h x f ( x, y( x))dx 2 f ( xn , y( xn )) f ( xn1 , y( xn1 ))
常微分方程的数言 简单的数值方法 Runge-Kutta方法 一阶常微分方程组和高阶方程
引言
在高等数学中我们见过以下常微分方程:
y f ( x, y, y) a x b y f ( x, y ) a x b (2) (1) (1) y ( x ) y , y ( x ) y 0 0 0 0 y ( x0 ) y0 y f ( x, y, y) a x b (3) y(a) y0 , y(b) yn
微分方程数值解法

微分方程数值解法微分方程数值解法微分方程数值解法【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方法精度高。
常微分方程数值解法

介绍常微分方程数值解法常微分方程(ordinary differential equations,ODE)可用于描述许多日常存在的物理系统。
处理ODE问题常常被称为数值求解法,这指的是找到概括ODE或者其他适用于数学模型的解决方案来模括这些ODE。
这种解决方案可能在一系列不同方案中发挥重要作用,以此来提供更好的解释和预测。
常微分方程与几何图形更为相关,它利用二维或者三维空间中曲线的绘制以及分析。
通过引入一些不同的方法,可以对不同的常微分方程中的量进行描述,使得可以通过数值方法的解析来进行研究。
数值解法可能是时间消耗较多的,但有助于验证几何图形中的某些过程,以此帮助揭示数学模型。
四种常见的常微分方程数值解法四种常见的常微分方程数值解法是:前向差分法、向后差分法、中点法和全分方法。
•前向差分法:前向差分法的基本概念是利用ODE的特定解来表达时间步的影响。
这是一种基本的数值法,可以在ODE中确定任意位置的点作为终点。
在这里,任何这样的点都可以表示为ODE右边的时间步。
•向后差分法:它是反过来基于前向差分法。
它要求对ODE中的时间步进行逆向推导,以获得某一特定点的解。
向后差分法要求推导反向解中点,以便可以从每一步中获取该点的解。
•中点法:这是一种非常基本的数值解法,可以用来求解ODE中的某一步的解,但不具有直观的方法解释。
主要的思想是在每一次时间步中通过求出ODE的中点来寻找解。
•全分方法:这是一种更复杂的数值解法,它要求将ODE中的每一步解细分并解决。
与前面提到的三种解法不同,它首先要求将ODE分解成若干离散区间,然后计算每一段区间中的点。
这种解法可以更准确地进行处理,但时间消耗较多,因此比较少被使用。
优化方案在需要解决常微分方程时,为了得到最佳的结果,有必要考虑一些优化措施。
•首先,应考虑将一个复杂的ODE拆分成一些更易解决的问题。
这样做的结果是,预见到解决此ODR的总耗时将会降低。
•其次,为了加快计算速度,可以考虑使用预解算法。
常微分方程的数值解法

常微分方程的数值解法1. 引言常微分方程是自变量只有一个的微分方程,广泛应用于自然科学、工程技术和社会科学等领域。
由于常微分方程的解析解不易得到或难以求得,数值解法成为解决常微分方程问题的重要手段之一。
本文将介绍几种常用的常微分方程的数值解法。
2. 欧拉方法欧拉方法是最简单的一种数值解法,其具体步骤如下:- 将自变量的区间等分为n个子区间;- 在每个子区间上假设解函数为线性函数,即通过给定的初始条件在每个子区间上构造切线;- 使用切线的斜率(即导数)逼近每个子区间上的解函数,并将其作为下一个子区间的初始条件;- 重复上述过程直至达到所需的精度。
3. 改进的欧拉方法改进的欧拉方法是对欧拉方法的一种改进,主要思想是利用两个切线的斜率的平均值来逼近每个子区间上的解函数。
具体步骤如下: - 将自变量的区间等分为n个子区间;- 在每个子区间上构造两个切线,分别通过给定的初始条件和通过欧拉方法得到的下一个初始条件;- 取两个切线的斜率的平均值,将其作为该子区间上解函数的斜率,并计算下一个子区间的初始条件;- 重复上述过程直至达到所需的精度。
4. 二阶龙格-库塔方法二阶龙格-库塔方法是一种更为精确的数值解法,其基本思想是通过近似计算解函数在每个子区间上的平均斜率。
具体步骤如下: - 将自变量的区间等分为n个子区间;- 在每个子区间上计算解函数的斜率,并以该斜率的平均值近似表示该子区间上解函数的斜率;- 利用该斜率近似值计算下一个子区间的初始条件,并进一步逼近解函数;- 重复上述过程直至达到所需的精度。
5. 龙格-库塔法(四阶)龙格-库塔法是目前常用的数值解法之一,其精度较高。
四阶龙格-库塔法是其中较为常用的一种,其具体步骤如下:- 将自变量的区间等分为n个子区间;- 在每个子区间上进行多次迭代计算,得到该子区间上解函数的近似值;- 利用近似值计算每个子区间上的斜率,并以其加权平均值逼近解函数的斜率;- 计算下一个子区间的初始条件,并进一步逼近解函数;- 重复上述过程直至达到所需的精度。
实验4 常微分方程的数值解法
[内容] 1. 欧拉格式(或改进的欧拉格式),编写 相应的程序并能正确运行。 2. 经典四:先描述清楚问题。
实验4 常微分方程的数值解法 [要求]
1.程序的调试要耐心、细致;
2.语句应尽可能加注注释; 3.本次实验的各个程序(M文件)打包成压缩文件 (格式:学号姓名.RAR,如:200910119李娟.RAR), 按时提交。
实验4 常微分方程的数值解法
[目的]
1.常微分方程差分算法的计算机实现;
2.进一步理解欧拉格式、改进的欧拉格式(预报—
校正系统)、龙格—库塔格式等算法,会运用这些方
法解决初步的常微分方程的求解问题; 3.进一步熟悉MATLAB数学软件的使用,锻炼程序 调试、排错的能力。
实验4 常微分方程的数值解法
常微分方程的数值解法
常微分方程的数值解法常微分方程是研究变量的变化率与其当前状态之间的关系的数学分支。
它在物理、工程、经济等领域有着广泛的应用。
解常微分方程的精确解往往十分困难甚至不可得,因此数值解法在实际问题中起到了重要的作用。
本文将介绍常见的常微分方程的数值解法,并比较其优缺点。
1. 欧拉方法欧拉方法是最简单的数值解法之一。
它基于近似替代的思想,将微分方程中的导数用差商近似表示。
具体步骤如下:(1)确定初始条件,即问题的初值。
(2)选择相应的步长h。
(3)根据微分方程的定义使用近似来计算下一个点的值。
欧拉方法的计算简单,但是由于误差累积,精度较低。
2. 改进欧拉方法为了提高欧拉方法的精度,改进欧拉方法应运而生。
改进欧拉方法通过使用两个点的斜率的平均值来计算下一个点的值。
具体步骤如下:(1)确定初始条件,即问题的初值。
(2)选择相应的步长h。
(3)根据微分方程的定义使用近似来计算下一个点的值。
改进欧拉方法相较于欧拉方法而言,精度更高。
3. 龙格-库塔法龙格-库塔法(Runge-Kutta)是常微分方程数值解法中最常用的方法之一。
它通过迭代逼近精确解,并在每一步中计算出多个斜率的加权平均值。
具体步骤如下:(1)确定初始条件,即问题的初值。
(2)选择相应的步长h。
(3)计算各阶导数的导数值。
(4)根据权重系数计算下一个点的值。
与欧拉方法和改进欧拉方法相比,龙格-库塔法的精度更高,但计算量也更大。
4. 亚当斯法亚当斯法(Adams)是一种多步法,它利用之前的解来近似下一个点的值。
具体步骤如下:(1)确定初始条件,即问题的初值。
(2)选择相应的步长h。
(3)通过隐式或显式的方式计算下一个点的值。
亚当斯法可以提高精度,并且比龙格-库塔法更加高效。
5. 多步法和多级法除了亚当斯法,还有其他的多步法和多级法可以用于解常微分方程。
多步法通过利用多个点的值来逼近解,从而提高精度。
而多级法则将步长进行分割,分别计算每个子问题的解,再进行组合得到整体解。
第4章常微分方程数值解ppt课件
其中L为李普希兹条件。
总目录
本章目录
4.1
4.2
4.3
4.4
4.5
4.2.3 中心欧拉公式
y(x)的在x=x1处的中心差商式:y' ( x1 )
y(x2 ) y(x0 ) 2h
又y'(x1) f (x1, y(x1)) ,可得到y(x2)的近似值y2计算公式:
y2 y0 2hf ( x1 , y1 )
2k3
k4
k1 f xn , yn
(1)
k2
f
xn
1 2
h,
y
n
1 2
hk1
(2)
k3
f
xn
1 2 h, yn
1 2
hk
2
k4 f xn h, yn hk3
(4-16)
yn1
yn
h 8
k1
3k 2
3k3
k4
k1 f xn , yn
k 2
f
xn
1 3 h, yn
4.1
4.2
4.3
4.4
4.5
4.1 微分方程在化工中的应用
微分方程在化工中应用的简单而又典型的例子是 套管式换热器的稳态温度分布。首先作以下假设:
1、套管内侧为液体,其温度只随套管的长度改变 而改变,忽略温度的径向变化;套管环隙为蒸汽, 其温度在任何位置均为恒定值,可认为是饱和蒸 汽的温度。
2、忽略套管内侧流体的纵向热传导。
f
(xn1, yn1 )]
(4-10)
上式也称为改进的欧拉公式,它可合并成:
yn1
yn
h(f 2
(xn , yn )
常微分方程模型及其数值解
Q(c,at)
P(x,y)
R(c,y )
0
y
x
c
例2 弱肉强食
问题 自然界中在同一环境下的两个种群之间存在着几种不同的生存方式,比如相互竞争,即争夺同样的食物资源,造成一个种群趋于灭绝,而另一个趋向环境资源容许的最大容量;或者相互依存,即彼此提供部分食物资源,二者和平共处,趋于一种平衡状态;再有一种关系可称之为弱肉强食,即某个种群甲靠丰富的自然资源生存,而另一种群乙靠捕食种群甲为生,种群甲称为食饵(Prey),种群乙为捕食者(Predator),二者组成食饵-捕食者系统。海洋中的食用鱼和软骨鱼(鲨鱼等)、美洲兔和山猫、落叶松和蚜虫等都是这种生存方式的典型。这样两个种群的数量是如何演变的呢?近百年来许多数学家和生态学家对这一系统进行了深入的研究,建立了一系列数学模型,本节介绍的是最初的、最简单的一个模型,它是意大利数学家Volterra在上个世纪20年代建立的。
0.00 0.40 0.80 1.20 1.60 2.00
0.00000 0.36085 0.51371 0.50961 0.45872 0.40419
0.00000 0.34483 0.48780 0.49180 0.44944 0.40000
0.00000 -0.01603 -0.02590 -0.01781 -0.00928 -0.00419
而
从而有: y(xn+1)-yn+1=O(h3)
2.4 Taylor展开方法
设y(x)是初值问题(4)的精确解, 利用Taylor展开式可得
称之为p阶Taylor展开方法. …… …… …… 因此,可建立节点处近似值yn满足的差分公式 其中
所以,此差分公式是p阶方法.
02
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
hf x ( x0 h) kf y ( y0 k )
f ( x0 h, y0 k ) f ( x0 , y0 ) hf x ( x0 h) kf y ( y0 k )
f ( x0 , y0 ) h k f ( x0 h, y0 k ) y x
10
梯形公式欧拉法
在数值积分法中,如果用梯形公式近似计算 f (x, y) 在区间 [xn, xn+1] 上的积分,即: xn 1 f [ xn , y( xn )] f [ xn1 , y( xn1 )] xn f [ x , y( x )] dx ( xn1 xn ) 2 h f [ xn , y( xn )] f [ xn1 , y( xn1 )] 2 用近似值代替精确值可得梯形公式欧拉法: h yn1 yn [ f ( xn , yn ) f ( xn1 , yn1 )] 2 上式右端出现了未知项,可见梯形法是隐式欧拉法 的一种;实际上,梯形公式欧拉法是显式欧拉法与 隐式欧拉法的算术平均。
11
例
用显式欧拉法、隐式欧拉法、梯形法求解初值问题: y y x 1 y(0) 1 取 h 0.1,计算到 x 0.5,并与精确解进行比较
解:由已知条件可得:h 0.1,x0 0, y0 1, f (x, y) y x 1
显式欧拉法: yn1 yn h( yn xn 1)
(1 h) yn hxn h 0.9 yn 0.1 xn 0.1
12
例:(续)
隐式欧拉法: 化简得:
yn1 yn h( yn1 xn1 1)
(1 h) yn1 yn h( xn1 1) yn h( xn h 1) 1 yn 1 [ yn h( xn h 1)] ( yn 0.1 xn 0.11) 1.1 (1 h) 梯形公式欧拉法: h yn1 yn [( yn xn 1) ( yn1 xn1 1)] 2 [1 ( h 2)] yn1 [1 ( h 2)] yn ( h 2)( xn xn1 2)
3
引言(续)
实际生产与科研中,除少数简单情况能获得初值问题 的初等解(用初等函数表示的解)外,绝大多数情况 下是求不出初等解的。 有些初值问题即便有初等解,也往往由于形式过于复 杂而不便处理。
实用的方法是在计算机上进行数值求解:即不直接求 y(x) 的显式解,而是在解所存在的区间上,求得一系 列点 xn (n 0, 1, 2, …) 上解的近似值。
18
隐式欧拉法: yn1 yn hf ( xn1 , yn1 )
y ( xn )
f ( xn1 , yn1 ) f [ xn1 , y( xn1 )] f y ( xn1 , )[ yn1 y( xn1 )] y( xn1 ) f y ( xn1 , )Tn1 y( xn ) O( h) f y ( xn1 , )Tn1
计算结果:
xn 显式法 yn 隐式法 yn 梯形法 yn 精确解 y (xn)
0.0
0.1 0.2 0.3 0.4 0.5
1
1.000000 1.010000 1.029000 1.056100 1.090490
1
1.009091 1.026446 1.051315 1.083014 1.120922
Tn1 y( xn1 ) yn1
称上述误差 Tn1 为该常微分方程数值算法的局部截 断误差
如果某个常微分方程数值算法的局部截断误差可表 示为 O(h p1),则称该数值算法的精度是 p 阶
欧拉法的精度为一阶;二步欧拉法的精度为二阶; 梯形公式欧拉法的精度为二阶。
15
泰勒展开法
如果初值问题中的 f (x, y) 充分可微,则可将 y(xn1) 在点 xn 处展开: h2 y( xn1 ) y( xn h) y( xn ) hy( xn ) y( xn ) 2! 如果只保留线性项,忽略 h2 及以上各项,则: y( xn1 ) y( xn ) hy( xn ) yn1
四 常微分方程数值解法
1
常微分方程数值解法
引言(常微分方程数值解法概述) 显式欧拉法、隐式欧拉法、二步欧拉法 局部截断误差与精度 改进的欧拉方法
龙格-库塔方法
收敛性与稳定性简述
一阶常微分方程组与高阶常微分方程
2
引言
一阶常微分方程初值问题:
y f ( x , y ) y ( x 0 ) y0
f [ x , y( x )] dx
( xn1 xn1 ) f [ xn , y( xn )] 中矩形公式
以 y(x) 在 xn 1, xn 上的近似值代替精确值可得:
y n 1 y n 1 2 h f ( x n , y n ) y0 y( x0 )
需要前两步 的计算结果
y( xn ) f [ xn , y( xn )]
yn
显式欧拉公式 yn1 yn hf ( xn , yn )
16
局部截断误差的分析
利用泰勒公式展开,比较各算法与展开式的前几项
显式欧拉法的局部截断误差:
欧拉法
yn1 yn hf ( xn , yn )
令:yn y( xn )
yn1 yn hf ( xn , yn ) y0 y( x0 ) n 0,1,2,
根据 y0 可以一步步计算出函数 y y(x) 在 x1, x2, x3 x4, …上的近似值 y1, y2, y3, y4 , …
常微分方程数值解是一组离散的函数值数据,它的 精确表达式很难求解得到,但可以进行插值计算后 用插值函数逼近 y(x)
[ y( xn1 ), yn1 ]
yn1 y( xn ) h[ y( xn ) O( h) f y ( xn1 , )Tn1 ]
y( xn ) hy( xn ) hf y ( xn1 , )Tn1 O( h2 )
y(xn1) 在 xn 点处展开: y( xn1 ) y( xn ) hy( xn ) O(h2 )
微分方程 初始条件
定理:若 f (x, y) 在某闭区域 R :
| x x0 | a , | y y0 | b
(a 0, b 0)
上连续,且在 R 域内满足李普希兹 (Lipschitz) 条件, 即存在正数 L,使得对于 R 域内的任意两值 y1, y2,下 列不等式成立: | f ( x , y1 ) f ( x , y2 ) | L | y2 y1 | 则上述初值问题的连续可微的解 y(x) 存在并且唯一。
yn1 y( xn ) hf [ xn , y( xn )] y( xn ) hy( xn )
将 y(xn1) 在 xn 点处用泰勒公式展开:
y( ) 2 y( xn1 ) y( xn h) y( xn ) hy( xn ) h 2! ( xn , xn 1 ) y( ) 2 Tn1 y( xn1 ) yn1 h O ( h2 ) 1 阶精度 2!
17
补充:二元函数微分中值定理
f ( x1 , y1 ) f ( x0 , y0 )
( x1 x0 ) f x [ x0 ( x1 x0 )] ( y1 y0 ) f y [ y0 ( y1 y0 )]
0 1
f ( x0 h, y0 k ) f ( x0 , y0 )
xn 1 xn
y dx y( xn1 ) y( xn )
xn 1 xn
f [ x , y( x )] dx
( xn1 xn ) f [ xn1 , y( xn1 )] hf [ xn1 , y( xn1 )]
这样便得到了隐式欧拉法:
yn 1 yn h f ( x n 1 , y n 1 ) y0 y( x0 )
1
1.004762 1.018594 1.040633 1.070097 1.106278
1
1.004837 1.019731 1.040818 1.070320 1.106531
本题的精确解为: y( x ) x e x
14
局部截断误差
为了简化分析某常微分方程数值算法的误差,现假 设 yn y(xn),即在前一步 yn 准确的前提下,估计:
yn1 [(2 h) yn h( xn xn1 2)] (2 h) (1.9 yn 0.2 xn 0.21) 2.1
13
显式法 隐式法 梯பைடு நூலகம்法
yn1 0.9 yn 0.1 xn 0.1 yn1 ( yn 0.1 xn 0.11) 1.1 yn1 (1.9 yn 0.2 xn 0.21) 2.1
含有未知 的函数值
隐式欧拉法没有显式欧拉法方便
9
二步欧拉法
在数值积分法推导中,积分区间宽度选为两步步长, 即积分区间为:[xn1, xn1],则:
xn 1 xn 1
y dx y( xn1 ) y( xn1 ) 2h f [ xn , y( xn )]
xn 1 xn 1
6
欧拉方法(续)
方法二 数值积分法
将微分方程 y f (x, y) 在区间 [xn, xn+1] 上积分:
xn 1 xn
y dx y( xn1 ) y( xn ) hf [ xn , y( xn )]
xn 1 xn
f [ x , y( x )] dx
( xn1 xn ) f [ xn , y( xn )]