Xn0.1 0.2 0.3 0.4 0.5 yn1110012468914217416262197087 y(×n)11111250001.428571666720000 (此初值问题的解析解为y 1-x 定义71假定y=y(xn,在此前提下用某种数值方法精确计算得到 yn1称Rn+=y(xn+)yn+1为该数值方法的局部截断误差。 定义72若数值方法的局部截断误差为Rn+=0(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(r, y) 对于初值问题 中的微分方程, V(m-v(xn) 使用向前差商数值微分公式y(x)≈m 由于y(xn)=f(x,y(x),故有 (,)-y(x,) f(rn,y(xn)) 用近似值yn代替y(x),得yx1)-y=/xn,y) 整理即得 (x)≈yn+h·f(xn2y) 欧拉Eue)公式:yn=y+h,f(x2,yn) h2 局部截断误差M+25)≤0h2),xn<5n<xmH
§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 + + = =
f(x, y 对于初值问题 中的微分方程, y(mi)(x) 使用向后差商数值微分公式y(xn1)x 得后退欧拉公式:ym+=yn+h:f(x1,ym) h2 y(S)=O(h) 局部截断误差Rn+=2n x <s sx 对上述两种公式进行平均,得梯形公式(改进的欧拉公式) ym=yn+-.(n,ym)+f(m,ym) 局部截断误差Rn1=-y"n)=O(h),xn<5n<xn1
对于初值问题 中的微分方程, 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 + + = − =
欧拉Euer)公式:yn=yn+h,f(x2,yn 显式法 后退欧拉Eue)公式:y=yn+h,f(x1,ym) h 梯形公式:yn1=yn+=[f(xn2y)+f(xn+,yn+) 隐式法 隐式法的求解方法(以梯形公式为例) n=yth f(n,yn) y4)=yn+=[f(xn2yn)+f(xm1,y)(k=0,12,…) 反复迭代,直至满足精度要求1-y1<E为止,将y 作为xn*1点的数值解
后退欧拉(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 h ym=y(x,)+y(n)+ay(r,)+ 考虑用f(xy)在不同点的值的线性组合来代替其中的导数项。 以二阶龙格一库塔公式为例。二阶泰勒展式为 ym=y(,)+h f(n, y(n))++ffn() 假定上式等价于yn=yn+ck+c2k2 其中 k=h f (rn,yn) k2=h·f(xn+h,yn+k) 参数C,C21,A1待定,要求方法达到二阶精度
§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 , , , 待定,要求方法达到二阶精度