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

合集下载

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

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

常微分方程初值问题的数值解法在自然科学、工程技术、经济和医学等领域中,常常会遇到一阶常微分方程初值问题:(,),,(),y f x y a x b y a y '=≤≤⎧⎨=⎩ (1) 此处f 为,x y 的已知函数,0y 是给定的初始值。

本章讨论该问题的数值解法,要求f 在区域{(,)|,}G x y a x b y =≤≤<∞内连续,并对y 满足Lipschitz 条件,从而初值问题(1)有唯一的连续可微解()y y x =,且它是适定的。

1 几个简单的数值积分法1.1 Euler 方法(1)向前Euler 公式(显式Euler 公式)10(,),0,1,2,,(),n n n n y y hf x y n y y a +=+=⎧⎨=⎩(2) 其中h 为步长。

由此便可由初值0y 逐步算出一阶常微分方程初值问题(1)的解()y y x =在节点12,,x x 处的近似值12,,y y 。

该公式的局部截断误差为2()O h ,是一阶方法。

(2)向后Euler 公式(隐式Euler 公式)1110(,),0,1,2,,(),n n n n y y hf x y n y y a +++=+=⎧⎨=⎩(3) 这是一个隐格式,也是一阶方法。

这类隐格式的计算比显格式困难,一般采用迭代法求解。

首先用向前Euler 公式提供迭代初值,然后迭代计算:(0)1(1)()111(,),(,),0,1,2,n n n n k k n n n n y y hf x y y y hf x y k +++++⎧=+⎨=+=⎩ (4)1.2 梯形方法1110[(,)(,)],2(),(0,1,2,)n n n n n n h y y f x y f x y y y a n +++⎧=++⎪⎨⎪=⎩= (5) 这也是一个隐格式,是二阶方法。

一般也采用迭代法求解。

迭代公式如下:(0)1(1)()111(,),[(,)(,)],0,1,2,2n n n n k k n n n n n n y y hf x y h y y f x y f x y k +++++⎧=+⎪⎨=++=⎪⎩ (6)1.3 改进的Euler 方法11110(,),[(,)(,)],0,1,2,,2(),n n n n n n n n n n y y hf x y h y y f x y f x y n y y a ++++⎧=+⎪⎪=++=⎨⎪=⎪⎩(7) 为了便于上机编程计算,(7)可改写为110(,),(,),0,1,2,,1(),2(),p n n n cn n p n p c y y hf x y y y hf x y n y y y y y a ++=+⎧⎪=+⎪⎪=⎨=+⎪⎪=⎪⎩(8) 该格式是显式,也是二阶方法。

计算方法 常微分方程初值问题数值解法-Euler公式-龙格-库塔法

计算方法 常微分方程初值问题数值解法-Euler公式-龙格-库塔法

[xi , xi 1 ]上积分得,
y(xi 1 ) y(xi )

xi 1
xi
f[x, y(x)]dx
(9.4 )
改用梯形方法计算其积分项,即

xi 1
x i 1 x i [f(x i , y(x i )) f(x i 1 , y(x i 1 ))] 2
xi
f[x, y(x)]dx
0 1 n1 n
… , y(xn ) (未知) 处的函数值 y(x 0 ), y(x1 ),
, yn 的近似值 y 0 , y1 ,…
y=y(x)
a=x0 x1
x2
x3
xn=b
• 相邻两个节点的间距 h xi 1 xi 称为步长,
步长可以相等,也可以不等。
• 本章总是假定h为定数,称为定步长,这时节 点可表示为
第9章 常微分方程初值问题数值解法
§9.1 引言
包含自变量、未知函数及未知函数的导数的方程称 为微分方程。
自变量个数只有一个的微分方程称为常微分方 程。
微分方程中出现的未知函数最高阶导数的阶数 称为微分方程的阶数。 如果未知函数y及其各阶导数
y, y, … , y
(n)
都是一次的,则称其为线性的,否则称为非线性的。
• 如下是一些典型方程求解析解的基本方法 可分离变量法、 常系数齐次线性方程的解法、 常系数非齐次线性方程的解法等。
• 但能求解的常微分方程仍然是很少的,大多数
的常微分方程是不可能给出解析解。例如,一
阶微分方程
y x y
2
2
的解就不能用初等函数及其积分来表达。
• 从实际问题当中归纳出来的微分方程,通常主 要依靠数值解法来解决。 • 本章主要讨论一阶常微分方程初值问题

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

常微分方程初值问题数值解法
根据微分方程的性质和初始条件,常 微分方程初值问题可以分为多种类型, 如一阶、高阶、线性、非线性等。
数值解法的必要性
实际应用需求
许多实际问题需要求解常微分方程初值问题,如物理、 化学、生物、工程等领域。
解析解的局限性
对于复杂问题,解析解难以求得或不存在,因此需要 采用数值方法近似求解。
数值解法的优势
未来发展的方向与挑战
高精度算法
研究和发展更高精度的算法,以提高数值解的准确性和稳定性。
并行计算
利用并行计算技术,提高计算效率,处理大规模问题。
自适应方法
研究自适应算法,根据问题特性自动调整计算精度和步长。
计算机技术的发展对数值解法的影响
1 2
硬件升级
计算机硬件的升级为数值解法提供了更强大的计 算能力。
它首先使用预估方法(如欧拉方法)得到一个 初步解,然后使用校正方法(如龙格-库塔方法) 对初步解进行修正,以提高精度。
预估校正方法的优点是精度较高,且计算量相 对较小,适用于各种复杂问题。
步长与误差控制
01
在离散化过程中,步长是一个重要的参数,它决定 了离散化的精度和计算量。
02
误差控制是数值逼近的一个重要环节,它通过设定 误差阈值来控制计算的精度和稳定性。
能够给出近似解的近似值,方便快捷,适用范围广。
数值解法的历史与发展
早期发展
早在17世纪,科学家就开始尝 试用数值方法求解常微分方程。
重要进展
随着计算机技术的发展,数值 解法在20世纪取得了重要进展, 如欧拉法、龙格-库塔法等。
当前研究热点
目前,常微分方程初值问题的 数值解法仍有许多研究热点和 挑战,如高精度算法、并行计
软件优化
软件技术的发展为数值解法提供了更多的优化手 段和工具。

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

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

则有
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!

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

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

oa
b
a f ( x)dx (b a) f (b)
中矩形公式
b
ab
a f ( x)dx (b a) f ( 2 )
计算方法
梯形公式
bx
右矩形公式 中矩形公式 左矩形公式
§ 欧拉方法几何意义
y y y(x)
y0 y1 y2 0 x0 x1 x2
计算方法
x
§ 隐式欧拉方法
➢隐式欧拉法 /* implicit Euler method */
初 值 问 题 的 解 必 存 在 且唯 一 。
计算方法
§9.1 引言
三. 数值解法含义
所谓数值解法, 就是设法将常微分方程离散化, 建 立差分方程, 给出解在一些离散点上的近似值。
微分方程的数值解: 设方程问题的解y(x)的存在区 间是[a,b], 令a= x0< x1<…< xn =b, 其中hk=xk+1-xk, 如是等距节点h=(b-a)/n, h称为步长。
yi1 yi1 2h f ( xi , yi ) i 1, ... , n 1
计算方法
预估-校正法
三. 预估 — 校正法
/* predictor-corrector method */
方法 显式欧拉 隐式欧拉 梯形公式
中点公式
简单
稳定性最好
精度提高
精度低
精度低, 计算量大
计算量大
精度提高, 显式
在x0 x X上的数值解法。
四. 误差估计、收敛性
和稳定性
计算方法
§9.2 简单的数值方法与基本概念
一. 欧拉(Euler)格式
设 节 点 为xi a ih (i 0,1,2 , n) 方 法 一 :Taylor展 开 法

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

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

a = x0 < x1 < x 2 < L < x n = b
2
欧拉方法与改进欧拉方法 一、欧拉方法
对于 ∗ , 等分, 把 [a , b] n 等分,记分点为 b−a x i = a + ih h = , i = 0,1,2, L , n − 1 n
()
dy 由 = f ( x, y ), dx
y0 = 1 y1 = 0.1× 0 + 0.9 ×1 + 0.1 = 1 y2 = 0.1× 0.1 + 0.9×1 + 0.1 = 1.01 y3 = 0.1× 0.2 + 0.9 ×1.01 + 0.1 = 1.029 y4 = 0.1× 0.3 + 0.9 ×1.029 + 0.1 = 1.0561 y5 = 0.1× 0.4 + 0.9 ×1.0561 + 0.1 = 1.09049
(0 ) 先确定一个初始值 y i +1 , 然后再进行迭代计算
k+ k) yi(+1 1) = yi + hf xi +1 , yi(+1
(
)
( k = 0,1,2,L)
直至得到满足精度的近似解 y i +1 .
10
把显式欧拉公式与隐式欧拉公式相加,得 把显式欧拉公式与隐式欧拉公式相加,
h yi +1 = yi + [ f ( xi , yi ) + f ( xi +1 , yi +1 )] ( i = 0,1,2, L , n − 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 ε+=。

常微分方程初值问题的数值解法

常微分方程初值问题数值解法初值问题:即满足初值条件的常微分方程的解y′=f(x,y),x∈[x0,b]y(x0)=y0.定理1(利普希茨条件)若存在正数L,使得对任意,y1,y2,有|f(x,y1)−f(x,y2)|≤L|(y1−y2)|定理2(解存在性)①若函数f在方区域x∈[a,b],y∈R连续,②函数f关于y 满足利普希茨条件,则对任意x∈[a,b],常微分方程存在唯一的连续可微数值解.两类问题:①单步法---计算下一个点的值yn+1只需要用到前面一个点的值yn②多步法---计算下一个点的值yn+1需要用到前面l个点的值yl1、欧拉法---下一个点的计算值等于前一个点的计算值加上步长乘以前一个点的函数值•具体过程一些批注:显式欧拉方程指下一步要计算的值,不在迭代方程中;隐式欧拉方程指下一步要计算的值,在迭代方程中。

怎么计算隐式欧拉方程----要借助显示欧拉迭代计算---一般用迭代法-----迭代---将微分方程在区间[xn,xn+1]进行积分,然后函数f进行近似,即可得到迭代方程-----迭代方程收敛性?由函数关于y满足利普希茨条件,可以推出迭代公式收敛。

•局部截断误差:假设前n步误差为0,我们计算第n+1步的误差,将次误差称为局部截断误差,且局部误差为O(hp+1)•p阶精度:由理论证明:若局部误差阶的时间复杂度为O(hp+1),则整体误差阶为O(hp)我们称公式精度为p。

•显示欧拉法与隐式欧拉法•梯形方法----将显式欧拉迭代方程与隐式欧拉迭代方程做一下加权平均,构造的计算公式.•改进的欧拉方法---思想:因为梯形公式是隐式公式,将显式欧拉公式对下一步的计算值进行预估,用梯形公式对下一步的计算值进行校正.2、龙格-库塔方法思想:根据Lagrange中值定理,下一次的计算值可以用前一次的计算值加上h乘以前一个点的斜率;而这个斜率用该区间上的多个点的斜率的算数平均来逼近。

注意:怎么计算任意斜率Ki?第i个点的斜率Ki有微分方程可以算出f′=f(xn,yn)所以要算的f(xn,yn)值,由欧拉法即可算出, yn+1=yn+hf′•2阶-龙格-库塔方法----类似改进的欧拉法根据Lagrange中值定理,下一次的计算值可以用前一次的计算值加上h乘以斜率;而这个斜率用区间上的端点和中点的斜率的算数平均来逼近。

常微分方程初值问题的数值解法


就得到初值问题(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)

计算方法课件第八章常微分方程初值问题的数值解法


整体截断误差与局部截断误差的关系
定理:如果f(x,y)满足李普希兹(Lipschitz)条件
f(x ,y 1 )f(x ,y 2) L y 1y 2
且局部截断误差有界:
|R n|1 2h2M 2
(n1,2, )
则Euler法的整体截断误差n满足估计式:
ne(ba)L 0h 2L M 2(e(ba)L1)
分光滑。初值问题的解析解(理论解)用 y(x表n ) 示, 数值解法的精确解用 y表n 示。
常微分方程数值解法一般分为:
(1)一步法:在计算y n 1 时,只用到x n 1 ,x n和 y,n 即前一步的值。
(2)多步法:计算 y n 1 时,除用到 x n 1 ,x n 和 y n 以外,还要用 x n p 和 y n p (p1 ,2 k;k0) ,即前
其中L为李普希兹常数,b-a为求解区间长度,
M2 mayx(x) 。 axb
证明参见教材。
Remark:该定理表明,整体截断误差比局部截 断误差低一阶。对其它方法,也有类似的结论。
收敛性与稳定性
收敛性定义:如果某一数值方法对于任意固定的
xn=x0+nh,当h0(同时n )时有yn y(xn),
则称该方法收敛。 稳定性定义 定义 用一个数值方法,求解微分方程初值问 题时,对给定的步长h>0,若在计算 y n 时引入 误差 (n 也称扰动),但由此引起计算后面的 ynk(k1,2, )时的误差按绝对值均不增加,则 称这个数值方法是稳定的。
一般的显式rk方法可以写成型钢截面只需少量加工即可用作构件省工省时成本低但型钢截面受型钢种类及型钢号限制难于完全与受力所需的面积相对应用料较多其中为常数选取这些常数的原则是要求第一式的右端在处泰勒展开后按h型钢截面只需少量加工即可用作构件省工省时成本低但型钢截面受型钢种类及型钢号限制难于完全与受力所需的面积相对应用料较多上述公式叫做n级的rungekutta方法其局部截断误差为显然euler法是一级一阶rk方法
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常微分方程初值问题数值解法-常微分方程初值问题数值解法
根据给定的初始条件,确定常微分方程惟一解的问题叫常微分方程初值问题。

大多数实际问题难以求得解析解,必须将微分问题离散化,用数值方法求其近似解。

一阶常微分方程的初值问题的提法是,求出函数y(x),使满足条件
(1)
利用数值方法解问题(1)时,通常假定解存在且惟一,解函数y(x)及右端函数ƒ(x,y)具有所需的光滑程度。

数值解法的基本思想是:先取自变量一系列离散点,把微分问题(1)离散化,求出离散问题的数值解,并以此作为微分问题解y(x)的近似。

例如取步长h>0,以h剖分区间【α,b】,令x i=α+i h,把微分方程离散化成一个差分方程。

以y(x)表微分方程初值问题的解,以y i表差分问题的解,就是近似解的误差,称为全局误差。

因此,设计各种离散化模型,求出近似解,估计误差以及研究数值方法的稳定性和收敛性等构成了数值解法的基本内容。

离散化方法常用的有三种:
①基于数值微分的方法将方程(1)左端的导数用某个一阶数值微分公式代替,例如在x n点以(y n+1-y n)/h代替yń即得到欧拉向前公式
(2)
若在x n+1点以(y n+1-y n)/h代替则得到欧拉向后公式
(3)
取(2)、(3)的平均,可导出二阶精度的梯形公式
(4)
②基于泰勒展开的方法设计一个算法,假定公式中含有某些待定常数,在函数光滑的假定下,将其按泰勒展开并与微分方程解y(x n+h)
的展式中h的同幂次项相比较,按照给定的精度阶得到待定常数应满足的一些方程,通过这些方程确定待定常数,即可得到所要的差分公式。

由此法可导出龙格-库塔公式。

设计算公式有下列形式
(5)
αi、βij为待定常数。

取定N值,可按上述泰勒展开的方法确定它们。

最常用的显式4阶龙格-库塔公式为
(6)
式中
③基于函数数值积分的方法将微分方程的解y(x)代入方程(1),在子区间【x n-i h,x n+jh】上积分得到公式
(7)
积分号下是x的函数,若用某些结点上ƒ的值的数值积分公式近似这个积分,便得到各种差分公式,特别地,若取i=0,j=1,并用ƒ在结点
x n,x n-1,x n-2,…上的插值代替(7)式中的被积函数,便得亚当斯外推公式。

4阶亚当斯外推公式为
(8)
若取ƒ在结点x n+1,x n,x n-1,…上的插值代替(7)式的被积函数,则得亚当斯内插公式。

4阶亚当斯内插公式为
(9)
解法可按计算y n+1时用多少个结点上的值分为单步法和多步法,又可以按y n+1出现的形式分为显式法和隐式法。

单步法是指已知结点x n上y n的值便可计算y n+1的值的解法,如(2)、(3)、(4)。

单步法是可以自己起步的,即可从方程的初值y0一步步算出
y1,y2,…的值。

多步法是指已知y n,y n-1,…,y n-k+1(k≥2)的值才能计算y n+1的值的解法,又称k步法。

例如,(8)是四步法,(9)是三步法。

多步法不能自己起步,即给了初值y0以后,还要用其他解法(如单步法),算出y1,y2,…,y k-1后,才能使用多步法,继续往下计算。

多步法公式若对y i和ƒi都是线性的,则称作线性多步法,k步线性多步法的一般形式为
显式法的公式中,未知的y n+1明显地被表示,即公式中除y n+1一项外,其他的项中不再含有y n+1,如公式(2)。

隐式法的公式不显含y n+1,求未知的y n+1时一般需要解方程,如公式(3)或(4)。

通常用各种迭代方法解隐式差分方程,也可采用较简单的预估-
校正方法,如使用梯形公式(4)时,可先用显式公式(2)求得y n+1的预估值,代入式(4)的函数ƒn+1中, 再求得y n+1的值。

此法又称改进的欧拉折线法。

数值解法满足相容的、收敛的、数值稳定的条件时,才有实用价值。

为此要研究以下的一些问题。

相容性将微分方程离散化所带来的误差叫截断误差。

当h→0时,截断误差趋于零,则称离散化后的方程与微分方程具有相容性,表示离散化后的方程是微分方程的近似。

若截断误差的主要项为Ch p+1,则称截断误差的阶是p+1,而称该解法是p阶的。

p越大表示离散化后的方程与微分方程近似程度越高。

收敛性是指当h→0时,全局误差εi→0,即离散问题的解y n收敛于微分问题的解y(x),这是离散解可用的理论基础。

p阶的解法,即是当h→0时,εi以h p的速度收敛。

误差估计对全局误差εi的估计,是应用数值解法时最关心的问题。

先验估计通常只能给出误差的阶,即误差的主要项中步长h的幂次。

一般采用事后估计,即在计算的过程中估计误差,例如用理查森外推法估计误差。

外推法也是提高解的精确度的有效方法。

数值稳定性是指计算过程中,某一步上产生的误差一步一步地传递下去,是衰减、不增或有界,使得传递下来的误差不致于影响数值解的精度,至少是不会湮没数值解。

数值稳定性是常微分方程数值积分时必须考虑的问题。

1956年G.达赫尔斯特证明:存在2k阶k步线性多步法,但数值稳定的k步线性多步法,当k为偶数时,其阶不能超过k+2,当k为奇数时,
其阶不能超过k+1。

称为限制性定理。

判别一个数值方法的稳定性时,微分方程
(10)
有较广的代表性,这里λ=α+iβ,α<0,许多数值稳定性的定义都以这个方程为基础。

通常称它为测验方程。

常微分方程初值问题数值解法
常微分方程初值问题数值解法
常微分方程初值问题数值解法稳定区域是指将一个数值积分方法应用于测验方程(10),在λh 复平面上使方法数值稳定的区域。

欧拉公式(2)的稳定条件为|1+λh|<1,其稳定区域是以【-2,0】为直径的圆的内部(图1)。

龙格-库塔法(6)的稳定区域由条件
(11)
来确定,实际上所有4阶显式龙格-库塔法的稳定区域都是由条件(11)确定,是图2图形的内部。

欧拉向后公式(3)的稳定区域是以【0,2】为直径的圆的外部(图3)。

稳定区域是稳定条件的几何表示,其作用在于解线性常系数常微分方程组
(12)
时,若步长h取得使所有λh(λ是A的本征值)都落在稳定区域内,用这个步长积分时数值稳定,理论上稳定区域可以用来选择可用的步长h。

由图1、图2可知,对于α<0的λ,只要h取得足够小,λh就可落在稳定区域内。

对于图3,h没有限制。

稳定区域包含λh平面的整
个左半平面的方法叫做A稳定的。

如公式(3)、(4)是A稳定的。

刚性方程组、常微分方程组的初值问题为:
式中
皆为n维向量。

假定微分方程右端函
数ƒ的雅可比矩阵的特征值为且Reλj<0(j=1,2,…,n),当比值
时,用通常显式公式计算,│hλj│(j=1,2,…,n)不能超过某个量,也就是h 必须很小,从而大大增加计算时间。

这类问题称为刚性问题。

因为A稳定的方法从数值稳定来说对步长h没有限制,适用于刚性方程组,如欧拉向后公式(3),梯形公式(4),隐式龙格-库塔公式等都是有效的方法。

参考书目
P. Henrici,Discrete variable Methods in Ordinary Differential Equations, John Wiley & Sons, New Y ork, 1962.
C. W.吉尔著,费景高、刘德贵、高永春译:《常微分方程初值问题的数值解法》,科学出版社,北京,1978。

(C. W. Gear,Numerical Initial V alue Problems in Ordinary Differential
Equations,Prentice-Hall, Englewood Cliffs, New Jersey,1971.)。

相关文档
最新文档