问题提出: 前面所讲的微分方程求解方法中,在计算y+1时都只 用到前面所得的一个值即y,如果能够多利用前面 已算出的y,.,y等多个值的信息,可能会 提高计算的精确度。阿达姆斯(Adams)方法就是 0次插值对应 1次插值对应 高次插值推出 于矩形公式求 于梯形公式求 阿达姆斯公式 积,推出欧拉 上 积,推出梯形 (分为内插、 方法 是 法则 外插) yn+1 -y dt y P(tdt
问题提出: 前面所讲的微分方程求解方法中,在计算yn+1时都只 用到前面所得的一个值即yn,如果能够多利用前面 已算出的y0, y1,., yn等多个值的信息,可能会 提高计算的精确度。阿达姆斯(Adams)方法就是 基于这种设想的一种线性多步法(用到前面多步的 数值结果)。 y P t dt y y f t y t dt x n x n n x n x n n n + + + = + = + 1 1 1 ( ) ( , ( )) 或 的构造形式是决定微分方程求解方法的主要因素 。 从数值计算原理上讲, 或 的插值多项式 ( ) ( , ) ( , ( )) ( ) P t f x y f t y t P x 0次插值对应 于矩形公式求 积,推出欧拉 方法 1次插值对应 于梯形公式求 积,推出梯形 法则 高次插值推出 阿达姆斯公式 (分为内插、 外插)
阿达姆斯公式(以四节点插值为例 假定己经算出,-’y,-2yn-’y的值,则y=f(x,y) (k=n-3,n-2,n-1,n)可计算给出。 y是x的函数,何以看作是的一元函数 因此,在区间,x)上可以用 外插值 的数 p(x)近似替代。 内插值 p)≈f) 鹏 X胖料
阿达姆斯公式可计算给出。 假定已经算出 , , , 的值,则 ( 3, 2, 1, ) ( , ) 3 2 1 k n n n n y y y y f f x y n n n n k k k = − − − − − − = y是x的函数,f可以看作是x的一元函数, 近似替代。 因此,在区间( ) 上 可以用其插值函数 ( ) , 1 p x x x f n n+ p(x) f(x) xn-3 xn-2 xn-1 xn 外插值 xn-2 xn-1 xn xn+1 p(x) f(x) 内插值 (以四节点插值为例) n−3 x n−2 x n−1 x n x n+1 x
阿达姆斯外推公式 由数值积分知识可知 如果以x?x2x’x为节点构造插值公式,则 p()d 6-7 2y Yn-3,Yn-2:Yn-1,Yn 于是,y≈y(x,)+p(x)dk 均为已知量 y+2盘5f化,)-59x火.) +37f(x2,y.-2)-9f(xyn3】 显式、线性多步方法
阿达姆斯外推公式 如果以x n−3 ,x n−2 ,x n−1 ,x n 为节点构造插值公式,则 由数值积分知识可知,( ) + = − − + − − − 1 55 59 1 37 2 9 3 24 ( ) x n x n n n n n f f f f h p x dx 于是, 37 ( , ) 9 ( , ) 55 ( , ) 59 ( , ) 24 ( ) ( ) 2 2 3 3 1 1 1 1 − − − − − − + + + − + − + n n n n n n n n n n x n x n n f x y f x y f x y f x y h y y y x p x dx 显式、线性多步方法 yn-3 , yn-2 ,yn-1 ,yn 均为已知量
阿达姆斯内插公式 如果以x-2x-’x,x为节点构造插值公式,则 pexs=a+11 方程式左右两边 均含有未知变量 于是,x)+pxwk yn+1 =火+24Dfx少)+19x,) -5f(xn-y.)+f(x-2yn2】 隐式、线性多步方法
阿达姆斯内插公式 如果以x n−2 ,x n−1 ,x n ,x n+1 为节点构造插值公式,则 ( ) + = + + − − + − 1 9 1 19 5 1 2 24 ( ) x n x n n n n n f f f f h p x dx 于是, 5 ( , ) ( , ) 9 ( , ) 19 ( , ) 24 ( ) ( ) 1 1 2 2 1 1 1 1 − − − − + + + + − + + + + n n n n n n n n n n x n x n n f x y f x y f x y f x y h y y y x p x dx 隐式、线性多步方法 方程式左右两边 均含有未知变量 yn+1
阿达姆斯预报一校正公式 类似于梯形法则的校正一预报公式, y=y+ 5/)-59k 阿达姆斯外推公式 +37f(xn-2,y.2)-9f(xm,y-] (显式公式)一预报 +2/w)1c.) y=y. 阿达姆斯内插公式 -5f(x)+f(xy] (隐式公式)一校正 积分步长不需要继续缩小的判条件: y-y<8
阿达姆斯预报—校正公式 5 ( , ) ( , ) 9 ( , ) 19 ( , ) 24 1 1 2 2 (0) 1 1 1 − − − − + + + − + = + + n n n n n n n n n n f x y f x y f x y f x y h y y 类似于梯形法则的校正—预报公式, + − = + − − − − − + − − 37 ( , ) 9 ( , ) 55 ( , ) 59 ( , ) 24 2 2 3 3 1 1 ( 0) 1 n n n n n n n n n n f x y f x y f x y f x y h y y (显式公式)— 预 报 阿达姆斯外推公式 (隐式公式)— 校 正 阿达姆斯内插公式 积分步长h不需要继续缩小的判定条件: − + + (0) n 1 n 1 y y
阿达姆斯公式的截断差 方法: 假设前面计算所得的步计算结果均是精确的即 y=y(x方将阿达姆斯公式中的二元函数(x,y)及 y(x)分别作泰勒展开,通过比较y(x)-y的差估计 单步计算过程中所产的截断误差,从而获得相应计算 公式的(精度)阶数。 结论: 1.阿达姆斯外推公式与插公式均为四阶方法; 2.隐式公式具有较好的稳定性,但计算过程中腰迭代
阿达姆斯公式的截断误差 公式的(精度)阶数。 单步计算过程中所产生的截断误差,从而获得相应计算 分别作泰勒展开,通过比 较 的差估计 ,将阿达姆斯公式 中的二元函数 及 假设前面计算所得的多步计算结果均是精确的, 即 方法: 1 1 1 1 ( ) ( ) ( ) ( , ) + + + + − = n n n k k n k k y x y x y y y x y f x y 隐式公式具有较好的稳定性,但计算过程中需要迭代。 阿达姆斯外推公式与内插公式均为四阶方法; 结论: 2. 1
阿达姆斯方法的“开始 阿达姆斯方法不是“开始”的一 计算过程中总要用到前几点的函数值,但有x 这一点的函数值是已知的,必须通过牠方法多 获得几个节点的函数值以便于方法中多点插值的开始。 开头三点的函数值的算通常采用四阶龙格一库塔法求取一 四阶龙格一库塔法具有与阿达姆舫法同样的精度, 因此,能够保证开始点函数值的精度
阿达姆斯方法的“开始” 获得几个节点的函数值以便于方法中多点插值的开始。 这一点的函数值 是已知的,必须通过其他方法多 计算过程中总要用到先前几点的函数值,但只有 阿达姆斯方法不是“自开始”的— — 0 0 y x 因此,能够保证开始三点函数值的精度。 四阶龙格— 库塔法具有与阿达姆斯方法同样的精度, 开头三点的函数值的计算通常采用四阶龙格— 库塔法求取—
一阶微分方程组初值问题 yi(x)=f(x,vi(x),.,ym(x)) y(x)=f(x,yi(x),.,vm(x)) 初值(c)=”,y(c)=y,.,ym(x)=y0 将问题记作向量形式,令:立= ,0 ∫(x)=x, x)=0 前述所有公式皆 成立,即适用于向 量形式
一阶微分方程组初值问题 = = ( ) ( , ( ), . , ( )) . . . ( ) ( , ( ), . , ( )) 1 1 1 1 y x f x y x y x y x f x y x y x m m m m 初值 0 0 0 2 0 2 0 y1 (x0 ) y1 , y (x ) y , . , ym (x ) ym = = = 将问题记作向量形式,令: = = = 0 0 1 0 1 1 . . . , . . . , . . . m m m y y y f f f y y y = = 0 0 ( ) ( ) ( , ) y x y y x f x y 前述所有公式皆 成立,即适用于向 量形式
高阶微分方程 ym=f(x,y,y,.,ym-) y(xo)=0,y'(xo)=a1,.,y-(xo)=-1 化作一阶微分方程组求解。 引入新变量=八,2=y,.,yn=ym- y=y2 初值条件为: y(xo)=ao 。 Jy2(x0)=41 yh-=yn yh=f(x,y,.,n) yn(xo)=an-1
高阶微分方程 = = = = − − − 0 1 ( 1) 0 0 0 1 ( ) ( 1) ( ) , ( ) , . , ( ) ( , , , . , ) n n n n y x a y x a y x a y f x y y y 化作一阶微分方程组求解。 引入新变量 ( 1) 1 2 , , . , − = = = n n y y y y y y = = = − ( , , . , ) . . . 1 1 1 2 n n n n y f x y y y y y y 初值条件为: 0 1 2 0 1 1 0 0 ( ) . ( ) ( ) = − = = n x an y y x a y x a