数值分析 李庆杨 Cht9常微分方程初值问题数值解法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
( 0) yn 1 yn hf ( xn , yn ), (1) ( 0) yn y hf ( x , y n n 1 n 1 ), 1 ( k 1) yn 1
yn hf
(k ) ( xn 1, yn 1 ),
(k 0,1,2,).
(2.6)
(2.6) (2.5)得 :
解析方法与数值解法.
数值解法就是求y ( x)在离散节点x1 xn 上的 近似值y1,, yn ,.
常用步进式的方法. 单步法,k步法.
研究计算公式的局部截断误差和阶, 数值解yn与准确解 y ( xn )的误差估计及收敛性,计算公式的稳定性等.
§2
积分曲线. 方向场.
简单的数值方法与基本概念
n 1 n n n
则称误差 Tn 1 y ( xn 1 ) ~ yn 1 为局部截断误差.
定义1 设y ( x)是初值问题(1.1)(1.2)的准确解,称 Tn 1 y ( xn 1 ) y ( xn ) h ( xn , y ( xn ), h) 为显式单步法(2.10)的局部截断误差. (2.11)
j 1
这里ci , i , ij均为常数. (3.4)(3.5)称为r级显式龙格 — 库塔 (Runge Kutta)法, 简称R K方法.
二、二阶显式龙格—库塔方法 考察二级R K方法的推导:
yn 1 yn h(c1k1 c2 k2 ), k f ( x , y ), (3.6) n n 1 k2 f ( xn 2 h, yn 21hk1 ). 这里c1, c2 , 2 , 21均为常数,要求取之使公式阶数p尽量高. d ( xn , yn ) f n , yn f n , y f ( xn , y ( xn ) f x ( xn , yn ) f y dx h2 ( xn , yn ) f n O(h3 ). y ( xn 1 ) yn hf n f x ( xn , yn ) f y 2 yn 1 yn c1hf ( xn , yn ) c2hf ( xn 2h, yn 21hk1 ) ( xn , yn ) f n yn c1hf n c2h f n h2 f x ( xn , yn ) 21hf y
是二. 阶方法.
(整体误差, 稳定域.见后面)
四、改进的欧拉公式(预测—校正法)
改进的欧拉公式:
预测 yn 1 yn hf ( xn , yn ), 校正 y y h [ f ( x , y ) f ( x , y )]. (2.13) n 1 n n n n 1 n 1 2
第9章 常微分方程初值问题数值解法
§1 引 言
考虑一阶常微分方程初值问题 dy f ( x, y ) (1.1) dx (1.2) y ( x0 ) y0 在x0 x X上的数值解法。 假定f ( x, y )在R {x0 x X , y }中连续, 并且
梯形方法的局部截断误差 : h Tn 1 y ( xn 1 ) y ( xn ) [ y( xn ) y( xn 1 )] 2 h2 h3 hy( xn ) y( xn ) y( xn ) 2 3!
h h2 [ y( xn ) y( xn ) hy( xn ) y( xn )] O(h 4 ) 2 2 h3 y( xn ) O(h 4 ). 12 3 h 即Tn 1 O(h3 ), 局部截断误差的主项为 y( xn ). 12 于是,欧拉方法和后退欧拉法都是 一阶方法,梯形方法
clear x=0,yn=1 %初始化 for n=1:10 yp=yn+0.1*(yn-2*x/yn); %预测 x=x+0.1; yc=yn+0.1*(yp-2*x/yp) ; yn=(yp+yc)/2 %校正 end
(2.2)
作业:P381, 1, 2(1).
Biblioteka Baidu
§3 龙格—库塔(Runge-Kutta)法
或 y p yn hf ( xn , yn ), yc yn hf ( xn 1, y p ), y 1 ( y y ). n 1 p c 2
例2 取h 0.1, 利用改进的欧拉法求解 y y 2 x( , 0 x 1) y y (0) 1,
一、欧拉法和后退欧拉法
欧拉(Euler)公式: yn 1 yn hf ( xn , yn ), (n 0,1,2,).
(2.1)
例1 取h 0.1, 利用Euler公式求解
y y 2 x( , 0 x 1) (2.2) y y (0) 1, 2 xn 0.2 xn 解:yn 1 yn h( yn ) 1.1yn . 计算及结果如下. yn yn
h2 hy( xn ) y( xn ) O(h3 ) 2 h[ y( xn ) hy( xn ) O(h3 )] h2 3 y ( xn ) O(h ). 2 h2 y( xn )为局部截断误差的主项, Tn 1 O(h 2 ). 2
i 1
(3.4) (3.5) 欧拉法r 1, p 1.改进
( xn , yn , h) ci ki ,
i 1
r
k1 f ( xn , yn ),
欧拉法r 2, p 2. i 1 ki f ( xn i h, yn h ij k j ), (i 2,, r),
一、显式龙格—库塔法的一般形式 欧拉法改写为等价形式:
yn 1 yn k1, k1 hf ( xn , yn ). 改进的欧拉法(预测 — 校正公式):
yn 1 yn hf ( xn , yn ), y y h [ f ( x , y ) f ( x , y )]. n n n n 1 n 1 n 1 2 k1 k2 yn 1 yn h , 2 2 k f ( x , y ), n n 1 k2 f ( xn h, yn hk1 ).
clear; y=1, x=0, %初始化 for n=1:10 y=1.1*y-0.2*x/y, x=x+0.1, end y= y= y= y= y= y= y= y= y= y= y= 1 1.1000 1.1918 1.2774 1.3582 1.4351 1.5090 1.5803 1.6498 1.7178 1.7848 x= x= x= x= x= x= x= x= x= x= x= 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000
欧拉法的局部截断误差 :
Tn 1 y ( xn 1 ) [ y ( xn ) hf ( xn , y ( xn ))] y ( xn h) y ( xn ) hy( xn ) h2 y( xn ) O(h3 ), 2
h2 y( xn )称为局部截断误差的主项. 显然Tn 1 O(h 2 ). 2
定义2 设y ( x)是初值问题(1.1)(1.2)的准确解,若存在最大 整数p使显式单步法(2.10)的局部截断误差满足 Tn 1 y ( xn 1 ) y ( xn ) h ( xn , y ( xn ), h) O(h p 1 ), (2.12) 则称这种方法具有p阶精度,或称这种方法为p阶方法. 后退欧拉法的局部截断误差 : Tn 1 y ( xn 1 ) y ( xn ) hf ( xn 1, y ( xn 1 ))
改写为
进一步 y ( xn 1 ) y ( xn )
xn 1 xn
f ( x, y ( x))dx,
(3.3)

其中
xn 1 xn
f ( x, y ( x))dx h ci f ( xn i h, y ( xn i h)).
r
yn 1 yn h ( xn , yn , h),
几何意义
局部截断误差 :
h2 y ( xn 1 ) y ( xn ) hy( xn ) y( n ) 2 2 h y ( xn ) hf ( xn , y ( xn )) y( n ),xn n xn 1. 2
h2 2 y ( xn 1 ) yn 1 y ( n ) O(h ),xn n xn 1. 2 (2.3)
关于y满足Lipschitz条件: | f ( x, y1 ) f ( x, y2 ) | L | y1 y2 |, ( x, y1 ), ( x, y2 ) R, 其中L 0为Lipschitz常数, 则该初值问题的解在x0 x X 上存在且唯一,而且连续依赖于初始条件及右端函数。
xn 1 xn
(2.8) (2.7)得 :
( k 1) hL | y ( k ) y | yn y | n 1 n 1 |, 1 n 1 2
( k 1) 只要 hL 1 ,则 ( 2 . 8 ) 的 y n 1 收敛到(2.7)的yn 1. 2
三、单步法的局部截断误差与阶
对(1.1)进行积分得到 y ( xn 1 ) y ( xn )
xn 1 xn
f ( x, y ( x))dx.
(2.4)
后退的欧拉法: yn 1 yn hf ( xn 1, yn 1 ), (n 0,1,2,).
(2.5)
显式的vs隐式的.
局部截断误差 : y ( xn 1 ) yn 1 O(h2 ).
一阶常微分方程初值问题(1.1)(1.2)的单步法的一般形式 yn 1 yn h ( xn , yn , yn 1, h). (2.9)
显式单步法的形式为 yn 1 yn h ( xn , yn , h). (2.10)
( x, y, h)称为增量函数.
假设已知准确值y ( xn ), 即P( xn , y ( xn ))落在积分曲线y y ( x) 上, 则由xn到xn 1这一步按(2.10)计算 ~ y y ( x ) h ( x , y ( x ), h),
( k 1) (k ) | yn y | h | f ( x , y n 1 n 1 n 1 ) f ( xn 1, yn 1 ) | 1 (k ) hL | yn 1 yn 1 |,
只要h充分小,使得hL 1,则(2.6)收敛到yn 1.
二、梯形方法
y ( xn 1 ) y ( xn ) f ( x, y ( x))dx. h y ( xn 1 ) y ( xn ) [ f ( xn , y ( xn )) f ( xn 1, y ( xn 1 ))], 2 梯形方法: h yn 1 yn [ f ( xn , yn ) f ( xn 1, yn 1 )], (n 0.1.2,). (2.7) 2 ( 0) yn 1 yn hf ( xn , yn ), (2.8) ( k 1) (k ) h yn 1 yn 2 [ f ( xn , yn ) f ( xn 1, yn 1 )], (k 0,1,).
相关文档
最新文档