数值分析
第十章 常微分方程数值解第一节 求解初值问题数值方法的基本原理 第二节 高精度的单步法 第三节 线性多步法 第四节 一阶微分方程组的解法 第五节 边值问题的打靶法和差分法
数值分析
数值分析
第一节 求解初值问题数值方法的基本原理一、初值问题的数值解考虑一阶常微分方程的初值问题 /* Initial-Value Problem */: dy f ( x, y) dx y(a ) y0 x [a , b ]
(10-1)
只要 f (x, y) 在[a, b] R1 上连续,且关于 y 满足 Lipschitz 条 件,即存在与 x, y 无关的常数 L 使 | f ( x , y 1 ) f ( x , y 2 ) | L | y 1 y 2 | 数值解 对任意定义在 [a, b] 上的 y1(x) 和 y2(x) 都成立,则上述IVP存 在唯一解。要计算出解函数 y(x) 在一系列节点 a = x0< x1<…< xn= b 处的近似值 y i y ( x i ) ( i 1 , ... , n ) 节点间距 hi x i 1 x i ( i 0 , ... , n 1 ) 为步长,通常采用等距节点, 即取 hi = h (常数)。数值分析
数值分析
求解(10-1)最基本的方法是单步法单步法:从初值 y 0 开始,依次求出 y1 , y 2 , ,后一步的值 y n 1 只依靠前一步的 y n ,是一种逐点求解的离散化方法。 典型的单步法是Euler(欧拉)方法,其计算格式是:yn 1 yn h f ( x n , yn ) ( n 0, 1, 2, ... )
例:求解常微分方程初值问题 y' y x 1 y(0) 1取步长 h 0 . 1, 计算到 x 0 . 5 解 : f ( x , y ) y x 1 , 由 E uler 公 式数值分析
x 0
数值分析
y n 1 y n h ( y n x n 1)代 入 h 0.1, 有 y n 1 0.9 y n 0.1( x n 1), 依 次 算 得 果 如 下 :
n 0 xn 0 y n 1.0
1 0.1 1.0
2 0.2 1.01
3 0.3 1.029
4 0.4 1.0561
5 0.5 1.09049 x
直接解微分方程可得精确解 : y f (x) x e 故 x 5 0.5, y (0.5 ) 1.106531
,
由此可见,Euler公式的近似值接近方程的精确值.数值分析
数值分析
二、构造初值问题数值方法的基本途径以Euler法为例说明构造IVP问题数值方法的三种基本途径 1. 数值微分法,用差商代替微商 亦称为欧拉折线法 向前差商近似导数y ( x 0 ) y( x1 ) y( x 0 ) h
y ( x 1 ) y ( x 0 ) h y ( x 0 ) y 0 h f ( x 0 , y 0 )
记为
y 1 x0
x1
yn 1 yn h f ( x n , yn )
( n 0, 1, 2, ... )
2. Taylor展开法将 y ( x n h ) 在点 x n 作 Taylor 展开 y ( x n h ) y ( x n ) hy ( x n ) '
h
2
y ( )''
2!数值分析
数值分析
忽略高阶项,取近似值可得到Euler公式yn 1 yn h f ( x n , yn ) ( n 0, 1, 2, ... )
3. 数值积分法区间 将 方 程 y f ( x , y ) 在 区间[ x n , x n 1 ]上 积分'
x n 1 xn
y dx '
x n 1 xn
f ( x , y )dx
( n 0, 1, )
用 y n 1 , y n 代 替 y ( x n 1 ), y ( x n
), 对 右 端 积 分 采 用 取左端点的矩形公式x n 1 xn
则有
f ( x , y )d x h f ( x n , y n )
yn 1 yn h f ( x n , yn )
( n 0, 1, 2, ... )数值分析
数值分析
三、Euler法的改进及梯形公式隐式欧拉法 /* implicit Euler method */ 向后差商近似导数y ( x 1 ) y( x1 ) y( x 0 ) h
x0
x1
y ( x1 ) y0 h f ( x1 , y ( x1 ))yn 1 yn h f ( x n 1 , yn 1 ) ( n 0, 1, 2, ... )
由于未知数 yi+1 同时出现在等式的两边,不能直接得到,故 称为隐式 /* implicit */ 欧拉公式,而前者称为显式 /* explicit */ 欧拉公式。 一般先用显式计算一个初值,再迭代求解。
数值分析
数值分析
梯形公式 /* trapezoid formula */y n 1 y n h 2
— 显、隐式两种算法的平均(n 0, 1, 2 )
[f ( x n , y n ) f ( x n 1 , y n 1 )]
中点欧拉公式 /* midpoint formula */ 中心差商近似导数y ( x 1 ) y( x2 ) y( x0 ) 2h
y ( x 2 ) y ( x 0 ) 2 h f ( x 1 , y ( x 1 ))x0 x1 x2
y n 1 y n 1 2h f ( x n , y n )
n 1, 2,
改进欧拉法 /* modified Euler’s method */Step 1: 先用显式欧拉公式作预测,算出 yn 1 y n h f ( x n, y n) Step 2: 再将 yn 1 代入隐式梯形公式的右边作校正,得到
h yn 1 yn [ f ( x n, yn) f ( x n 1 , yn 1 )] 2
数值分析
数值分析
y n 1 y n
h 2
f ( x n , y n ) f x n 1 , y n h f ( x n , y n )
(n 0 , 1, 2 )
yn+1
注:此法亦称为预测-校正法 /* predictor-corrector method */。一方面它有较高精度,同时可以看 到它是个单步递推格式,比隐式公式的迭代求 解过程简单。后面将看到,它的稳定性高于显 式欧拉法。例:用欧拉公式和改进的欧拉公式解初值问题 2x ' y y y y (0 ) 1. (0 x 1);
数值分析
数值分析
解 : 取 步 长 h 0 .1, 欧 拉 公 式 为 : y n 1 y n h( y n 2 xn yn ).
2 xn y p y n h ( y n y ); n 2 x n 1 改 进 的 欧 拉 公 式 为 : yc y n h( y p ); yp 1 yn 1 ( y p y c ). 2 计算结果略。
数值分析
数值分析
四、单步法的误差分析和稳定性1. 整体截断误差和局部截断误差 整体截断误差:数值解 y n 和精确解 y ( xen y( xn ) ynn
)
之差
整体截断误差除与 x n步计算有关外,还与 x n 1 , , x 1的计算 有关 分析计算中的某一步,显式单步法的一般形式可写为:y n 1 y n hQ ( x n , y n , h )
其中 Q ( x n , y n , h ) 称为增量函数。如对于Euler公式其增量函 数 Q ( xn , yn , h ) f ( xn , y n ) y ' ( xn )
定义 局部截断误差:设 y ( x ) 是初值问题(10.1)的解,用单步法计算到 第n步没有误差,即 y n y ( x n ) ,则数
…… 此处隐藏:2604字,全部文档内容请下载后查看。喜欢就下载吧 ……