0.1 0.2 0.3 04 0.5 yn111000124689142174166262197087 yx)1111250042671666720000 (此初值问题的解析解为y=-) 定义71假定yn=y(xn,在此前提下用某种数值方法精确计算得到 yn+1,称Rn+y(xn+)yn+为该数值方法的局部截断误差。 定义72若数值方法的局部截断误差为Rn=O(hP+),则称该方法 具有p阶精度或p阶方法,其中p为正整数 结论展开至p阶的泰勒级数法具有p阶精度
xn 0.1 0.2 0.3 0.4 0.5 yn 1.11000 1.24689 1.42174 1.66262 1.97087 y(xn ) 1.11111 1.25000 1.42857 1.66667 2.00000 (此初值问题的解析解为 1 .) 1 y x = − 定义7.1 假定yn=y(xn ), 在此前提下用某种数值方法精确计算得到 yn+1, 称 Rn+1=y(xn+1)-yn+1 为该数值方法的局部截断误差。 定义7.2 若数值方法的局部截断误差为 Rn+1=O(hp+1), 则称该方法 具有p阶精度或p阶方法,其中p为正整数。 结论 展开至p阶的泰勒级数法具有p阶精度
§3基于数值微分公式的方法 y'=f(, y) 对于初值问题 中的微分方程, 使用向前差商数值微分公式y(xn)≈ 由于y(xn)=f(x,y(x),故有y(xn)-y(x)≈f(xn,y(x) 用近似值yn代替y(xn),得 n+1 f(r,, yu) 整理即得y(xn)≈yn+h:f(xn,yn) 局部截断误差R的2 欧拉( Euler)公式:yn+1=y y(sn)=O(h), x<5
§3 基于数值微分公式的方法 对于初值问题 中的微分方程, 0 0 ( , ) ( ) y f x y y x y = = 使用向前差商数值微分公式 1 ( ) ( ) ( ) n n n y x y x y x h + − 由于 1 ( ) ( ) ( , ( )) n n n n y x y x f x y x h + − y x f x y x ( ) ( , ( )), n n n = 故有 用近似值 yn 代替 y x( ) n ,得 1 ( ) ( , ) n n n n y x y f x y h + − = 整理即得 1 ( ) ( , ) n n n n y x y h f x y + + 欧拉(Euler)公式: 1 ( , ) n n n n y y h f x y + = + 局部截断误差 2 2 1 1 ( ) ( ), 2 n n n n n h R y O h x x + + = =
y'=f(, y) 对于初值问题 中的微分方程, 使用向后差商数值微分公式y(xn+)≈ V(n+D)-y(xn) 得后退欧拉公式:yn1=yn+h·f(xn1,yn) y(n)=O(h), 局部截断误差Rn+=29 x <sn xn+ 对上述两种公式进行平均,得梯形公式(改进的欧拉公式): h yn1=yn+[f(xn2yn)+f(xn+1,y) 局部截断误差Rn=2)=0h),xn<5n<xn
对于初值问题 中的微分方程, 0 0 ( , ) ( ) y f x y y x y = = 使用向后差商数值微分公式 1 1 ( ) ( ) ( ) n n n y x y x y x h + + − 得后退欧拉公式: 1 1 1 ( , ) n n n n y y h f x y + + + = + 局部截断误差 2 2 1 1 ( ) ( ), 2 n n n n n h R y O h x x + + = − = 对上述两种公式进行平均,得梯形公式(改进的欧拉公式): 1 1 1 [ ( , ) ( , )] 2 n n n n n n h y y f x y f x y + + + = + + 局部截断误差 3 3 1 1 ( ) ( ), 2 n n n n n h R y O h x x + + = − =
欧拉(Eue)公式:y=y+h·f(x,yn) 显式法 后退欧拉Eue公式:yn=yn+hf(xn1,yn) 梯形公式:ynm1=yn+f(xn,yn)+f(xn1,yn 隐式法 隐式法的求解方法(以梯形公式为例) mn 1=yn+h f(n,yn) y)=yn+=[f(xnyn)+f(x-1,y(1)(k=0, 反复迭代,直至满足精度要求1-y1<E为止,将y 作为xn1点的数值解
后退欧拉(Euler)公式: 1 1 1 ( , ) n n n n y y h f x y + + + = + 梯形公式: 1 1 1 [ ( , ) ( , )] 2 n n n n n n h y y f x y f x y + + + = + + 欧拉(Euler)公式: 1 ( , ) n n n n y y h f x y + = + ——显式法 隐 式 法 隐式法的求解方法(以梯形公式为例) ( 1) ( ) 1 1 1 [ ( , ) ( , )] ( 0,1,2, ) 2 k k n n n n n n h y y f x y f x y k + + + + = + + = (0) 1 ( , ) n n n n y y h f x y + = + 反复迭代,直至满足精度要求 为止,将 作为xn+1点的数值解。 ( 1) ( ) 1 1 k k n n y y + + + − ( 1) 1 k n y + +
§4龙格一库塔法( Runge- Kutta method) 在泰勒级数法当中 h h2 V(xn)+y(x,)+ay(n) 考虑用f(xy)在不同点的值的线性组合来代替其中的导数项。 以二阶龙格一库塔公式为例。二阶泰勒展式为 h ym=y(rn)+h f(rn, y(xn))+(r+ffm() 假定上式等价于yn1=yn+ck+C2k2 其中 ∫k=hf(xn,y k2=h·f(xn+h,yn+k1) 参数c12C2,1,A待定,要求方法达到二阶精度
§4 龙格-库塔法(Runge-Kutta Method) 在泰勒级数法当中 考虑用f(x,y)在不同点的值的线性组合来代替其中的导数项。 以二阶龙格-库塔公式为例。二阶泰勒展式为 假定上式等价于 其中 2 ( ) 1 ( ) ( ) ( ) ( ) 1! 2! ! p p n n n n n h h h y y x y x y x y x p + = + + + + 2 1 ( ) ( , ( )) ( ) 2 ! (*) n n n n x y n h y y x h f x y x f f f + = + + + n n 1 1 1 2 2 y y c k c k + = + + 1 2 1 1 1 ( , ) ( , ) n n n n k h f x y k h f x h y k = = + + 参数 c c 1 2 1 1 , , , 待定,要求方法达到二阶精度