Euler法Euler法y(x) ~ y。 +(xi -xo)f(xo, yo) = y)y(x2) ~ yi+(x2 -x)f(xi, y) = y2y(xn) ~ yn-1 +(xn -xn-1)f(xn-1, yn-1) = y,Yk+1 = yk +(xk+1 -Xr)f(xr, yh)k = 0,1,2,..., n-16
6 Euler 法 ◼ Euler 法 1 0 1 0 0 0 1 y x y x x f x y y ( ) ( ) ( , ) + − 2 1 2 1 1 1 2 y x y x x f x y y ( ) ( ) ( , ) + − 1 1 1 1 ( ) ( ) ( , ) n n n n n n n y x y x x f x y y + − − − − − 1 1 ( ) ( , ) k k k k k k y y x x f x y + + = + − k n = − 0 1 2 1 , ,
几何含义2.5eEulery(x)21.50.501.50.522.517
7 几何含义
举例例:用Euler法解初值问题2xdydxx e [0, 1]yy(0) = 11.8-·EulerExactSolution1.7解:Matlab代码见1.6Euler.m, Examplel.m1.51.4真解y=V2x+11.31.21.100.10.20.30.40.50.60.70.80.91
8 举例 例:用 Euler 法解初值问题 2 0 1 0 1 [ , ] ( ) dy x y dx y x y = − = 解:Matlab代码见 Euler.m, Example1.m 真解 y x = + 2 1
梯形法计算定积分时采用梯形公式,即梯形公式J(xk+1) = y(x)+ J** f(x, y) dx工~ y(x) +k+1 -xk[f(xr, y(x,)) + (xk+1, y(xk+1)]2Xk+1-Xk[f(xk,yk)+ f(xk+1,yk+1)]Jk+1 = k+2k =0,1,2,....,n-1梯形法缺点:公式右端含有yk+1,求解较困难9
9 梯形法 计算定积分时采用梯形公式,即 1 1 ( ) ( ) ( , ) k k x k k x y x y x f x y dx + + = + 1 1 1 2 ( ) ( , ( )) ( , ( )) k k k k k k k x x y x f x y x f x y x + + + − + + 梯形公式 缺点:公式右端含有yk+1,求解较困难 1 1 1 1 2 ( , ) ( , ) k k k k k k k k x x y y f x y f x y + + + + − = + + 梯形法 k n = − 0 1 2 1 , ,
改进的Euler法先用Euler法计算出yk+i的近似值,然后代入后端项中yk+1 =y+(xk+1-x)f(xk,yk)Xk+1 -Xk[[f(xk,yk)+f(xk+1,yk+1)]Jk+1 = Jk + 2k =0,1,2,...,n-1改进的Euler法第一步称为预估,第二步称为校正通常也写为:Jk+1 = ys +=h(K, +K2)h=Xk+1-Xk其中:K,=f(xy),K=f(x+h,k+hK)10
10 改进的Euler法 ⚫ 先用 Euler 法计算出 yk+1 的近似值,然后代入后端项中 1 1 1 1 2 ( , ) ( , ) k k k k k k k k x x y y f x y f x y + + + + − = + + 1 1 ( ) ( , ) k k k k k k y y x x f x y + + = + − k n = − 0 1 2 1 , , ,., 改进的 Euler 法 ⚫ 第一步称为预估,第二步称为校正 ⚫ 通常也写为: 1 ( , ), K f x y = k k 1 1 2 ( ) 1 2 k k k y y h K K + = + + 2 1 ( , ) K f x h y h K = + + k k k k h x x k k k = − +1 其中: