第7章-常微分方程数值解法.ppt
文本预览下载声明
7.5 线性多步法 前面介绍的方法,统称为单步法,就是在计算yn+1时,只用到前面一步yn的值。 本节我们将介绍利用前边已经算出来的若干个值yn-k,yn-k+1,…,yn-1,yn,来求得yn+1的高精度公式――线性多步方法。 选取不同的插值点作插值多项式,就会得出不同的数值解法 这里讨论其中的一种,叫阿当姆斯(Adams)方法。 例 求y’ = x + y, y (0) = 1 当x = 0.1到0.5,步长h = 0.1时的数值解。 解 先用前面讲过的方法计算出表头 y0 = 1; y1 = 1.11034; y2 = 1.24281; y3 = 1.39972 将上述值代入公式,计算得: y4 = 1.58364; y5 = 1.79742 比较外推法和内插法的截断误差可知,在同样利用k + 1个已知值时,阿当姆斯内插法的截断误差阶比外推法高一阶,因而内插法更精确。 但内插法是隐式的,需要解方程,通常用迭代法求解。如用外推法算出的值作为初始近似,然后相应地用内插法公式进行迭代 例:内插法求解y’ = x + y, y (0) = 1当x = 0.1到0.5,步长h = 0.1时的数值解。 解 先用前面讲过的方法计算出表头 y0 = 1; y1 = 1.11034; y2 = 1.24281 再用下面的第一个式子计算出 , 最后用第二个式子进行迭代,得 y3 = 1.39972 同样,可算出y4及y5。 再将y?(x),y’(x)在内点x1处的值,y’(x)可表示为中心差商 从而y? 的中心差商为 同一、二阶中心差商分别代替原边值问题中的一、二阶导数,则得逼近的差分方程 令 课堂练习 求下列方程的数值解(取h = 0.2 ) 作业 P205:11、12 将差分表示成函数值的和的形式: 二阶阿当姆斯外推公式可改写为: 三阶阿当姆斯外推公式可改写为: 2.阿当姆斯内插公式 将被积函数用以xn-1,xn,xn+1为插值节点的内插多项式 得到: k = 2 时 k=1 为了提高精度,经常把阿当姆斯外推法与内插联合起来交替使用。例如 第一个方程的精度为0(h4),用第二个方程迭代一次精度仍达0(h5)。这样两个方程交替使用可达较好的效果。第一个方程是预报方程,第二个方程是较正方程。 解二阶常微分方程边值问题的差分法 考虑常微分方程的边值问题: 其中p(x),q(x)和f (x)均为[a, b]上给定的函数, ?,?为已知数。 假定p(x)、q(x)及f (x)均为[a, b]上充分光滑的函数, 且q(x)≤0,这时,边值问题存在连续可微的解,且唯一。 用差分法解边值问题的主要步骤是: (1)将区间[a, b]离散化; (2)在这些节点上,将导数差商化,从而把微分方程 化为差分方程; (3) 解差分方程――实际上就是解线代数方程组。 将[a, b]区间用节点 分成N等分,其中x0 = a与xN = b 称为边界点, 而x1, x2, …, xN-1称为内点。 略去上式中截断误差的阶为0(h2),并以近似值yi代替真值y(xi),便得 方 法 ? ? 各方法的比较: 显式欧拉 隐式欧拉 梯形公式 中点公式 简单 精度低 稳定性最好 精度低, 计算量大 精度提高 计算量大 精度提高, 显式 多一个初值, 可能影响精度 §7.2.5 改进欧拉法 /* modified Euler’s method */ Step 1: 先用显式欧拉公式作预测,算出 ) , ( 1 i i i i y x f h y y + = + Step 2: 再将 代入隐式梯形公式的右边作校正,得到 1 + i y )] , ( ) , ( [ 2 1 1 1 + + + + + = i i i i i i y x f y x f h y y 注:此法亦称为预测-校正法 /* predictor-corrector method */。可以证明该算法具有 2 阶精度,同时可以看到它是个单步递推格式,比隐式公式的迭代求解过程简单。后面将看到,它的稳定性高于显式欧拉法。 §7.3 龙格 - 库塔法 /* Runge-Kutta Method */ 一、再看Taylor方法 二、Runge-Kutta 方法 复习 ? 一元函数的Taylor展开 ? 二元函数的Taylor展开 一、再看Taylor方法 一般可取公式为如下形式 注:应用泰勒展式构造公式时,希望近似值的泰勒展式与精确值的泰勒展式有尽可能多的项相同,即:两者关于h的展式中的系数尽可能多的项相同,这样
显示全部