数值分析第五章常微分方程数值解法.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析第五章常微分方程数值解法

一般地,利用插值原理所建立的一系列数值积分方法也可以导出解微分方程的一系列计算公式。运用插值方法的关键在于选取合适的插值节点。假设已构造出f(x,y(x))的插值多项式Pr(x),则 §4 Multistep Method ? 亚当姆斯显式公式 /* Adams explicit formulae */ 利用r+1 个节点上的被积函数值 构造 r 阶牛顿后插多项式, 有 Newton 插值余项 /*Adams 显式公式 */ 外推技术 /* extrapolation */ table 5-6, p.181 j ?j 0 1 1 1/2 2 5/12 3 3/8 实际计算时,将差分展开 i j r j=i 局部截断误差为: 注:Br 与yn+1 计算公式中 fn , …, fn?k 各项的系数 均可查表得到 。 见下表。 1 0 1 2 3 r fn fn?1 fn?2 fn?3 … Br … … … … … … … 例: 常用的是 r = 3 的4阶亚当姆斯显式公式 Adams显式公式用 作为插值节点,在求积区间[xn, xn+1]上用插值函数Nr(x)近似f(x,y(x)),而xn+1不在插值节点内,因此是一个外推的过程。虽然公式是显式的,便于计算,但效果并不理想,比如稳定性较差等。 因此改用通过r+1个节点 的插值多项式Nr(x)近似f(x,y(x)),由于xn+1是其中一个插值点,因此是内插多项式,但导出的公式是隐式的。 §4 Multistep Method ? 亚当姆斯隐式公式 /* Adams implicit formulae */ 利用r+1 个节点上的被积函数值 fn+1 , fn , …, fn?r+1 构造r 阶牛顿前插多项式。与显式多项式完全类似地可得到一系列隐式公式。 j 0 1 1 -1/2 2 -1/12 3 -1/24 局部截断误差为: 1 0 1 2 3 k fi+1 fi fi?1 fi?2 … Br … … … … … … … ~ 小于Br 注: 与yn+1 计算公式中 fn+1 , …, fn+1?k 各项的系数 均可查表得到 。 见下表。 常用的是 k = 3 的4阶亚当姆斯隐式公式 较同阶显式稳定 例: §4 Multistep Method ? 亚当姆斯预测-校正系统 /* Adams predictor-corrector system */ Step 1: 用Runge-Kutta 法计算前 k 个初值; Step 2: 用Adams 显式计算预测值; Step 3: 用同阶Adams 隐式计算校正值。 注意:三步所用公式的精度必须相同。通常用经典Runge-Kutta 法配合4阶Adams 公式。 4阶Adams隐式公式的截断误差为 4阶Adams显式公式的截断误差为 Predicted value pn+1 Corrected value cn+1 Modified value mn+1 预测值与校正值的事后误差估计 Adams显隐预测-校正-改进系统 §4 Multistep Method Adams 4th-Order predictor-corrector Algorithm To approximate the the solution of the initial-value problem At (N+1) equally spaced numbers in the interval [a, b]. Input: endpoints a, b; integer N; initial value y0 . Output: approximation y at the (N+1) values of x. Step 1 Set h = (b ? a) / N ; x0 = a; y0 = y0; Output ( x0, y0 ); Step 2 For i = 1, 2, 3 Compute yi using classical Runge-Kutta method; Output ( xi , yi ); Step 3 For i = 4, …, N do steps 4-10 Step 5 ; /* predict */ Ste

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档