数值分析(第五版) 第九章知识点总结

仅供大致参考,有许多定义存在不严谨的地方;不同学校的考察重点自然是不同的

第九章 常微分方程初值问题数值解法
常微分方程的初值问题

{ d y   d x = f ( x , y ) y ( x 0 ) = y 0 \left\{\begin{array}{l} \frac{\mathrm{d} y}{\mathrm{~d} x}=f(x, y) \\ y\left(x_{0}\right)=y_{0} \end{array}\right. { dxdy=f(x,y)y(x0)=y0 即,我们要求解函数 y y y的数学表达式,然而我们目前只有 y y y在某个点(初始点)的值(初值),以及 y y y的导数 y ′ y^{\prime} y的表达式,而 y ′ y^{\prime} y式中本身是包含 y y y的。为此需要设计相应的数值计算方法进行近似。


显式Euler法

y n + 1 = y n + h f ( x n , y n ) y_{n+1}=y_{n}+h f\left(x_{n}, y_{n}\right) yn+1=yn+hf(xn,yn)


隐式Euler法

y n + 1 = y n + h f ( x n + 1 , y n + 1 ) y_{n+1}=y_{n}+h f\left(x_{n+1}, y_{n+1}\right) yn+1=yn+hf(xn+1,yn+1)


梯形公式

y n + 1 = y n + h 2 [ f ( x n , y n ) + f ( x n + 1 , y n + 1 ) ] y_{n+1}=y_{n}+\frac{h}{2}\left[f\left(x_{n}, y_{n}\right)+f\left(x_{n+1}, y_{n+1}\right)\right] yn+1=yn+2h[f(xn,yn)+f(xn+1,yn+1)]


改进Euler法

y n + 1 = y n + h 2 [ f ( x n , y n ) + f ( x n + 1 , y n + h f ( x n , y n ) ) ] y_{n+1}=y_{n}+\frac{h}{2}\left[f\left(x_{n}, y_{n}\right)+f\left(x_{n+1}, y_{n}+h f\left(x_{n}, y_{n}\right)\right)\right] yn+1=yn+2h[f(xn,yn)+f(xn+1,yn+hf(xn,yn))]


龙格-库塔法

{ y n + 1 = y n + h ( c 1 K 1 + c 2 K 2 + ⋯ + c r K r ) ( n = 0 , 1 , 2 , ⋯   ) K 1 = f ( x n , y n ) K i = f ( x n + a i h , y n + h ∑ j = 1 i − 1 b i j K j ) ( i = 2 , 3 , ⋯   , r ) \left\{\begin{array}{l} y_{n+1}=y_{n}+h\left(c_{1} K_{1}+c_{2} K_{2}+\cdots+c_{r} K_{r}\right) \quad(n=0,1,2, \cdots) \\ K_{1}=f\left(x_{n}, y_{n}\right) \\ K_{i}=f\left(x_{n}+a_{i} h, y_{n}+h \sum_{j=1}^{i-1} b_{i j} K_{j}\right) \quad(i=2,3, \cdots, r) \end{array}\right. yn+1=yn+h(c1K1+c2K2++crKr)(n=0,1,2,)K1=f(xn,yn)Ki=f(xn+aih,yn+hj=1i1bijKj)(i=2,3,,r)


龙格-库塔法&二阶中点格式

{ y n + 1 = y n + h K 2 ( n = 0 , 1 , 2 , ⋯   ) K 1 = f ( x n , y n ) K 2 = f ( x n + 1 2 h , y n + 1 2 h K 1 ) \left\{\begin{array}{l} y_{n+1}=y_{n}+h K_{2} \quad(n=0,1,2, \cdots) \\ K_{1}=f\left(x_{n}, y_{n}\right) \\ K_{2}=f\left(x_{n}+\frac{1}{2} h, y_{n}+\frac{1}{2} h K_{1}\right) \end{array}\right. yn+1=yn+hK2(n=0,1,2,)K1=f(xn,yn)K2=f(xn+21h,yn+21hK1)


龙格-库塔法&二阶休恩格式

{ y n + 1 = y n + h 4 ( K 1 + 3 K 2 ) ( n = 0 , 1 , 2 , ⋯   ) K 1 = f ( x n , y n ) K 2 = f ( x n + 2 3 h , y n + 2 3 h K 1 ) \left\{\begin{array}{l} y_{n+1}=y_{n}+\frac{h}{4}\left(K_{1}+3 K_{2}\right) \quad(n=0,1,2, \cdots) \\ K_{1}=f\left(x_{n}, y_{n}\right) \\ K_{2}=f\left(x_{n}+\frac{2}{3} h, y_{n}+\frac{2}{3} h K_{1}\right) \end{array}\right. yn+1=yn+4h(K1+3K2)(n=0,1,2,)K1=f(xn,yn)K2=f(xn+32h,yn+32hK1)


龙格-库塔法&四阶

{ y n + 1 = y n + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 ) ( n = 0 , 1 , 2 , ⋯   ) K 1 = f ( x n , y n ) K 2 = f ( x n + h 2 , y n + h 2 K 1 ) K 3 = f ( x n + h 2 , y n + h 2 K 2 ) K 4 = f ( x n + h , y n + h K 3 ) \left\{\begin{array}{l} y_{n+1}=y_{n}+\frac{h}{6}\left(K_{1}+2 K_{2}+2 K_{3}+K_{4}\right)(n=0,1,2, \cdots) \\ K_{1}=f\left(x_{n}, y_{n}\right) \\ K_{2}=f\left(x_{n}+\frac{h}{2}, y_{n}+\frac{h}{2} K_{1}\right) \\ K_{3}=f\left(x_{n}+\frac{h}{2}, y_{n}+\frac{h}{2} K_{2}\right) \\ K_{4}=f\left(x_{n}+h, y_{n}+h K_{3}\right) \end{array}\right. yn+1=yn+6h(K1+2K2+2K3+K4)(n=0,1,2,)K1=f(xn,yn)K2=f(xn+2h,yn+2hK1)K3=f(xn+2h,yn+2hK2)K4=f(xn+h,yn+hK3)


单步法,收敛性

单步法的统一形式为: y n + 1 = y n + h φ ( x n , y n , y n + 1 , h ) y_{n+1}=y_{n}+h \varphi\left(x_{n}, y_{n}, y_{n+1}, h\right) yn+1=yn+hφ(xn,yn,yn+1,h) 如果不含 y n + 1 y_{n+1} yn+1,则称为显示单步法,否则为隐式单步法。

如果对于 x n = x 0 + n h x_{n}=x_{0}+n h xn=x0+nh,当 h → 0 h \rightarrow 0 h0时有 y n → y ( x n ) y_{n} \rightarrow y\left(x_{n}\right) yny(xn),则称该数值方法是收敛的。


局部截断误差,阶,精度

y ( x ) y(x) y(x)为微分方程的精确解,那么有精确解减去数值解: T n + 1 = y ( x n + 1 ) − y n + 1 = y ( x n + 1 ) − y ( x n ) − h φ ( x n , y ( x n ) , y ( x n + 1 ) , h ) \begin{aligned} T_{n+1} &=y\left(x_{n+1}\right)-y_{n+1} \\ &=y\left(x_{n+1}\right)-y\left(x_{n}\right)-h \varphi\left(x_{n}, y\left(x_{n}\right), y\left(x_{n+1}\right), h\right) \end{aligned} Tn+1=y(xn+1)yn+1=y(xn+1)y(xn)hφ(xn,y(xn),y(xn+1),h) T n + 1 T_{n+1} Tn+1为单步法的局部截断误差。


泰勒展开式

研究局部截断误差的有关问题,基本上都是离不开泰勒展开。一般我们在处理局部截断误差精度时会去把精确解 y ( x n + 1 ) y(x_{n+1}) y(xn+1)展开,即: y ( x n + 1 ) = y ( x n + h ) = y ( x n ) + y ′ ( x n ) h + y ′ ′ ( x n ) 2 ! h 2 + y ′ ′ ′ ( x n ) 3 ! h 3 + ⋯ y\left(x_{n+1}\right)=y\left(x_{n}+h\right)=y\left(x_{n}\right)+y^{\prime}\left(x_{n}\right) h+\frac{y^{\prime \prime}\left(x_{n}\right)}{2 !} h^{2}+\frac{y^{\prime \prime \prime}\left(x_{n}\right)}{3 !} h^{3}+\cdots y(xn+1)=y(xn+h)=y(xn)+y(xn)h+2!y(xn)h2+3!y(xn)h3+ 或者把 f ( x n + h , y n + k ) f(x_{n}+h,y_{n}+k) f(xn+h,yn+k)给展开: f ( x n + h , y n + k ) = f ( x n , y n ) + ∂ f ( x n , y n ) ∂ x h + ∂ f ( x n , y n ) ∂ y k + 1 2 ! [ ∂ 2 f ( x n , y n ) ∂ x 2 h 2 + 2 ∂ 2 f ( x n , y n ) ∂ x ∂ y h k + ∂ 2 f ( x n , y n ) ∂ y 2 k 2 ] + ⋯ \begin{aligned} f\left(x_{n}+h, y_{n}+k\right) &=f\left(x_{n}, y_{n}\right)+\frac{\partial f\left(x_{n}, y_{n}\right)}{\partial x} h+\frac{\partial f\left(x_{n}, y_{n}\right)}{\partial y} k \\ +& \frac{1}{2 !}\left[\frac{\partial^{2} f\left(x_{n}, y_{n}\right)}{\partial x^{2}} h^{2}+2 \frac{\partial^{2} f\left(x_{n}, y_{n}\right)}{\partial x \partial y} h k+\frac{\partial^{2} f\left(x_{n}, y_{n}\right)}{\partial y^{2}} k^{2}\right]+\cdots \end{aligned} f(xn+h,yn+k)+=f(xn,yn)+xf(xn,yn)h+yf(xn,yn)k2!1[x22f(xn,yn)h2+2xy2f(xn,yn)hk+y22f(xn,yn)k2]+


例1

对于初值问题: { y ′ = − 1000 ( y − g ( x ) ) + g ′ ( x ) y ( 0 ) = g ( 0 ) \left\{\begin{array}{c} y^{\prime}=-1000(y-g(x))+g^{\prime}(x) \\ y(0)=g(0) \end{array}\right. {y=1000(yg(x))+g(x)y(0)=g(0) 其中 g ( x ) g(x) g(x)为已知函数,其解 y ( x ) = g ( x ) y(x)=g(x) y(x)=g(x)
1)若用显式Euler法求解,从稳定性考虑步长应在什么范围内选取
2)若用隐式Euler法求解,从稳定性考虑,步长有没有限制,为什么
3)若g(x)为不超过一次的多项式,用显式Euler法求解此问题时,从精确阶考虑,步长的选择有无限制,为什么

1) 根据绝对稳定的定义,有 ∣ 1 + h λ ∣ ≤ 1 |1+h \lambda| \leq 1 1+hλ1,而 λ = − 1000 \lambda=-1000 λ=1000(y之前的系数),解得 0 < h ≤ 0.002 0 < h \leq 0.002 0<h0.002
2) 隐式欧拉法的绝对稳定域为 ( 0 , ∞ ) (0,\infty) (0,),因此无限制
3) 对于显式Euler法,可以写出迭代公式如下: y n + 1 = y n + h [ − 1000 ( y n − g ( x n ) ) + g ′ ( x n ) ] y_{n+1}=y_n+h[-1000(y_n-g(x_n))+g^{\prime}(x_n)] yn+1=yn+h[1000(yng(xn))+g(xn)] 而既然 g ( x ) g(x) g(x)不超过一次,那么令 g ( x ) = a x + b g(x)=ax+b g(x)=ax+b,代入上式,可得 y n + 1 = y n + h [ − 1000 ( y n − a x − b ) + a ] y_{n+1}=y_n+h[-1000(y_n-ax-b)+a] yn+1=yn+h[1000(ynaxb)+a] y 0 = y ( 0 ) = g ( 0 ) = b y_0=y(0)=g(0)=b y0=y(0)=g(0)=b,可递推得 y 1 = a h + b y_1=ah+b y1=ah+b y 2 = a ( 2 h ) + b y_2=a(2h)+b y2=a(2h)+b,…, y n = a ( n h ) + b y_n=a(nh)+b yn=a(nh)+b,容易发现总是能得到精确解,因此无步长限制。

例题1(课后习题3)

用梯形法解初值问题 { y ′ + y = 0 y ( 0 ) = 1 \left\{\begin{array}{l} y^{\prime}+y=0 \\ y(0)=1 \end{array}\right. {y+y=0y(0)=1 证明其近似解为 y n = [ 2 − h 2 + h ] n y_{n}=\left[\frac{2-h}{2+h}\right]^{n} yn=[2+h2h]n,并证明当 h → 0 h \rightarrow 0 h0时,它收敛于原初值问题的准确解 y = e − x y=e^{-x} y=ex
:这里我们给出梯形法的公式: y n + 1 = y n + h 2 [ f ( x n , y n ) + f ( x n + 1 , y n + 1 ) ] y_{n+1}=y_{n}+\frac{h}{2}\left[f\left(x_{n}, y_{n}\right)+f\left(x_{n+1}, y_{n+1}\right)\right] yn+1=yn+2h[f(xn,yn)+f(xn+1,yn+1)] 那么由于 f ( x , y ) = y ′ = − y f(x,y)=y^{\prime}=-y f(x,y)=y=y,代进去,有: y n + 1 = y n + h 2 ( − y n − y n + 1 ) y_{n+1}=y_{n}+\frac{h}{2}\left(-y_{n}-y_{n+1}\right) yn+1=yn+2h(ynyn+1) 移项,可以得到: y n + 1 = [ 2 − h 2 + h ] y n = [ 2 − h 2 + h ] 2 y n − 1 = [ 2 − h 2 + h ] n + 1 y 0 y_{n+1}=\left[\frac{2-h}{2+h}\right] y_{n}=\left[\frac{2-h}{2+h}\right]^{2} y_{n-1}=\left[\frac{2-h}{2+h}\right]^{n+1} y_{0} yn+1=[2+h2h]yn=[2+h2h]2yn1=[2+h2h]n+1y0 代入 y 0 = 1 y_{0}=1 y0=1,可以证得近似解。而由于 x = n h x=nh x=nh,n为运算次数,h为步长,因此该式可化为: y n = [ 2 − h 2 + h ] x / h y_{n}=\left[\frac{2-h}{2+h}\right]^{x / h} yn=[2+h2h]x/h lim ⁡ h → 0 y n = lim ⁡ h → 0 [ ( 1 − 2 h 2 + h ) 2 + h 2 h ] 2 h 2 + h x h = e − x \lim _{h \rightarrow 0}{y_n} =\lim _{h \rightarrow 0}\left[\left(1-\frac{2 h}{2+h}\right)^{\frac{2+h}{2 h}}\right]^{\frac{2 h}{2+h} \frac{x}{h}}=\mathbf{e}^{-x} h0limyn=h0lim[(12+h2h)2h2+h]2+h2hhx=ex


例题2(课后习题6)

证明对任意参数 t t t,下列龙格-库塔方法是二阶的:
{ y n + 1 = y n + 1 2 h ( K 2 + K 3 ) K 1 = f ( x n , y n ) K 2 = f ( x n + t h , y n + t h K 1 ) K 3 = f ( x n + ( 1 − t ) h , y n + ( 1 − 2 ) h K 1 \left\{\begin{array}{l} y_{n+1}=y_{n}+\frac{1}{2} h\left(K_{2}+K_{3}\right) \\ K_{1}=f\left(x_{n}, y_{n}\right) \\ K_{2}=f\left(x_{n}+t h, y_{n}+t h K_{1}\right) \\ K_{3}=f\left(x_{n}+(1-t) h, y_{n}+(1-2) h K_{1}\right. \end{array}\right. yn+1=yn+21h(K2+K3)K1=f(xn,yn)K2=f(xn+th,yn+thK1)K3=f(xn+(1t)h,yn+(12)hK1 T n + 1 = y ( x n + 1 ) − y n + 1 T_{n+1}=y(x_{n+1})-y_{n+1} Tn+1=y(xn+1)yn+1 首先利用泰勒展开处理 y ( x n + 1 ) = y ( x n + h ) y(x_{n+1})=y(x_n + h) y(xn+1)=y(xn+h),有: y ( x n + h ) = y ( x n ) + h y ′ ( x n ) + 1 2 h 2 y ′ ′ ( x n ) + 1 3 ! h 3 y ′ ′ ′ ( ξ ) y(x_n + h)= y(x_n)+h y^{\prime}(x_n)+\frac{1}{2} h^{2} y^{\prime \prime}(x_n)+\frac{1}{3 !} h^{3} y^{\prime \prime \prime}(\xi) y(xn+h)=y(xn)+hy(xn)+21h2y(xn)+3!1h3y(ξ) y n + 1 = y ( x n ) + h 2 ( K 2 + K 3 ) = y ( x n ) + 1 2 h [ f ( x n + t h , y n + t h y ′ ( x n ) ) + f ( x n + ( 1 − t ) h , y n + ( 1 − t ) h y ′ ( x n ) ) ] ) y_{n+1}=y(x_n)+\frac{h}{2}(K_2+K_3)=y(x_n)+\frac{1}{2}h\left[f\left(x_n+t h, y_n+t h y^{\prime}(x_n)\right)+f\left(x_n+(1-t) h, y_n+(1-t) h y^{\prime}(x_n)\right)\right]) yn+1=y(xn)+2h(K2+K3)=y(xn)+21h[f(xn+th,yn+thy(xn))+f(xn+(1t)h,yn+(1t)hy(xn))]) f ( x n + t h , y n + t h y ′ ( x n ) ) f\left(x_n+t h, y_n+t h y^{\prime}(x_n)\right) f(xn+th,yn+thy(xn)) f ( x n + ( 1 − t ) h , y n + ( 1 − t ) h y ′ ( x n ) ) f\left(x_n+(1-t) h, y_n+(1-t) h y^{\prime}(x_n)\right) f(xn+(1t)h,yn+(1t)hy(xn))各自做二元泰勒展开,带回原式,可解得最后 T n + 1 = O ( h 3 ) T_{n+1}=O(h^3) Tn+1=O(h3),即方法是二阶的。


例题3(课后习题7)

证明中点公式 y n + 1 = y n + h f ( x n + h 2 , y n + 1 2 h f ( x n , y n ) ) y_{n+1}=y_{n}+h f\left(x_{n}+\frac{h}{2}, y_{n}+\frac{1}{2} h f\left(x_{n}, y_{n}\right)\right) yn+1=yn+hf(xn+2h,yn+21hf(xn,yn))是二阶的。
解: T n + 1 = y ( x n + 1 ) − y ( x n ) − h f ( x n + h 2 , y ( x n ) + h 2 y ′ ( x n ) ) T_{n+1}=y\left(x_{n+1}\right)-y\left(x_{n}\right)-h f\left(x_{n}+\frac{h}{2}, y\left(x_{n}\right)+\frac{h}{2} y^{\prime}\left(x_{n}\right)\right) Tn+1=y(xn+1)y(xn)hf(xn+2h,y(xn)+2hy(xn)) 根据泰勒展开式将 y ( x n + 1 ) y(x_{n+1}) y(xn+1)展开,有: y ( x n + 1 ) = y ( x n ) + h y ′ ( x n ) + h 2 2 y ′ ′ ( x n ) + h 3 6 y ′ ′ ′ ( x n ) + O ( h 4 ) y(x_{n+1})=y(x_{n})+hy^{\prime}(x_{n})+\frac{h^{2}}{2}y^{\prime\prime}(x_{n})+\frac{h^{3}}{6}y^{\prime\prime\prime}(x_{n})+O(h^{4}) y(xn+1)=y(xn)+hy(xn)+2h2y(xn)+6h3y(xn)+O(h4) 同理,利用二元泰勒公式将 f ( x n + h 2 , y ( x n ) + h 2 y ′ ( x n ) ) f\left(x_{n}+\frac{h}{2}, y\left(x_{n}\right)+\frac{h}{2} y^{\prime}\left(x_{n}\right)\right) f(xn+2h,y(xn)+2hy(xn))展开,有: f ( x n + h 2 , y ( x n ) + h 2 y ′ ( x n ) ) = f ( x n , y ( x n ) ) + h 2 ∂ f ( x n , y ( x n ) ) ∂ x + h 2 y ′ ( x n ) ∂ f ( x n , y ( x n ) ) ∂ y + 1 2 ! [ ( h 2 ) 2 ∂ 2 f ( x n , y ( x n ) ) ∂ x 2 + h 2 h 2 y ′ ( x n ) ∂ 2 f ( x n , y ( x n ) ) ∂ x ∂ y + [ h 2 y ′ ( x n ) ] 2 ∂ 2 f ( x n , y ( x n ) ) ∂ y 2 ] + O ( h 3 ) f\left(x_{n}+\frac{h}{2}, y\left(x_{n}\right)+\frac{h}{2} y^{\prime}\left(x_{n}\right)\right) = f\left( {{x_n},y\left( {{x_n}} \right)} \right) + {h \over 2}{{\partial f\left( {{x_n},y\left( {{x_n}} \right)} \right)} \over {\partial x}} + {h \over 2}{y^\prime }\left( {{x_n}} \right){{\partial f\left( {{x_n},y\left( {{x_n}} \right)} \right)} \over {\partial y}} + {1 \over {2!}}\left[ {{{\left( {{h \over 2}} \right)}^2}{{{\partial ^2}f\left( {{x_n},y\left( {{x_n}} \right)} \right)} \over {\partial {x^2}}}} \right. + {h \over 2}{h \over 2}{y^\prime }\left( {{x_n}} \right){{{\partial ^2}f\left( {{x_n},y\left( {{x_n}} \right)} \right)} \over {\partial x\partial y}}\left. { + {{\left[ {{h \over 2}{y^\prime }\left( {{x_n}} \right)} \right]}^2}{{{\partial ^2}f\left( {{x_n},y\left( {{x_n}} \right)} \right)} \over {\partial {y^2}}}} \right] + O\left( {{h^3}} \right) f(xn+2h,y(xn)+2hy(xn))=f(xn,y(xn))+2hxf(xn,y(xn))+2hy(xn)yf(xn,y(xn))+2!1[(2h)2x22f(xn,y(xn))+2h2hy(xn)xy2f(xn,y(xn))+[2hy(xn)]2y22f(xn,y(xn))]+O(h3) 把这两个泰勒展开后的式子代回去,由于 y ′ ( x n ) y^{\prime}(x_{n}) y(xn)其实就是 f ( x n , y n ) f(x_{n},y_{n}) f(xn,yn),因此消掉一堆东西后可以得到: = h 3 3 ! y ′ ′ ′ ( x n ) − h 3 8 [ ∂ 2 f ∂ x 2 + y ′ ( x ) ∂ 2 f ∂ x ∂ y + ( y ′ ( x ) ) 2 ∂ 2 ∂ y 2 ] ( x n , y ( x n ) ) + O ( h 4 ) \begin{aligned} &=\frac{h^{3}}{3 !} y^{\prime \prime \prime}\left(x_{n}\right)-\frac{h^{3}}{8}\left[\frac{\partial^{2} f}{\partial x^{2}}+y^{\prime}(x) \frac{\partial^{2} f}{\partial x \partial y}+\left(y^{\prime}(x)\right)^{2} \frac{\partial^{2}}{\partial y^{2}}\right]_{\left(x_{n}, y\left(x_{n}\right)\right)}+O\left(h^{4}\right) \end{aligned} =3!h3y(xn)8h3[x22f+y(x)xy2f+(y(x))2y22](xn,y(xn))+O(h4) 因此是二阶的。


例题4(课后习题11)

证明解 y ′ = f ( x , y ) y^{\prime}=f(x,y) y=f(x,y)的下列差分公式 y n + 1 = 1 2 ( y n + y n − 1 ) + h 4 ( 4 y n + 1 ′ − y n ′ + 3 y n − 1 ′ ) y_{n+1}=\frac{1}{2}\left(y_{n}+y_{n-1}\right)+\frac{h}{4}\left(4 y^{\prime}_{n+1}-y^{\prime}_{n}+3 y^{\prime}_{n-1}\right) yn+1=21(yn+yn1)+4h(4yn+1yn+3yn1)是二阶的,并求出截断误差的主项。
解: 与上一问类似,首先 T n + 1 = y ( x n + 1 ) − y n + 1 T_{n+1}=y(x_{n+1})-y_{n+1} Tn+1=y(xn+1)yn+1 对于 y ( x n + 1 ) = y ( x n + h ) y(x_{n+1})=y(x_{n}+h) y(xn+1)=y(xn+h),利用泰勒展开,有: y ( x n + h ) = y ( x n ) + h y ′ ( x n ) + 1 2 h 2 y ′ ′ ( x n ) + 1 3 ! h 3 y ′ ′ ′ ( x n ) + O ( h 4 ) y(x_{n}+h)=y\left(x_{n}\right)+h y^{\prime}\left(x_{n}\right)+\frac{1}{2} h^{2} y^{\prime \prime}\left(x_{n}\right)+\frac{1}{3 !} h^{3} y^{\prime \prime \prime}\left(x_{n}\right)+O\left(h^{4}\right) y(xn+h)=y(xn)+hy(xn)+21h2y(xn)+3!1h3y(xn)+O(h4) 现在的问题就是怎么处理 1 2 ( y ( x n ) + y ( x n − h ) ) + 1 4 h [ 4 y ′ ( x n + h ) − y ′ ( x n ) + 3 y ′ ( x n − h ) ] {1 \over 2}\left( {y\left( {{x_n}} \right) + y\left( {{x_n} - h} \right)} \right){\rm{ + }}{1 \over 4}h\left[ {4{y^\prime }\left( {{x_n} + h} \right) - {y^\prime }\left( {{x_n}} \right) + 3{y^\prime }\left( {{x_n} - h} \right)} \right] 21(y(xn)+y(xnh))+41h[4y(xn+h)y(xn)+3y(xnh)]。其实依然完全是泰勒展开,这里给出一个例子,展开 y ′ ( x n + h ) y^{\prime}({x_{n}+h}) y(xn+h) y ′ ( x n + h ) = y ( x n ′ ) + h y ′ ′ ( x n ) + 1 2 h 2 y ′ ′ ′ ( x n ) + O ( h 3 ) y^{\prime}({x_{n}+h})=y\left(x^{\prime}_{n}\right)+h y^{\prime\prime}\left(x_{n}\right)+\frac{1}{2} h^{2} y^{\prime \prime\prime}\left(x_{n}\right)+O\left(h^{3}\right) y(xn+h)=y(xn)+hy(xn)+21h2y(xn)+O(h3) 都展来开,代进去的话,最终消去得: − 5 8 h 3 y ′ ′ ′ ( x n ) + O ( h 4 ) -\frac{5}{8} h^{3} y^{\prime \prime \prime}\left(x_{n}\right)+O\left(h^{4}\right) 85h3y(xn)+O(h4) 因此差分公式是二阶的。


例题5(课后习题12)

试证明线性二步法 y n + 2 + ( b − 1 ) y n + 1 − b y n = h 4 [ ( b + 3 ) f n + 2 + ( 3 b + 1 ) f n ] y_{n+2}+(b-1) y_{n+1}-b y_{n}=\frac{h}{4}\left[(b+3) f_{n+2}+(3 b+1) f_{n}\right] yn+2+(b1)yn+1byn=4h[(b+3)fn+2+(3b+1)fn] b ≠ − 1 b \neq-1 b=1时方法为二阶,当 b = − 1 b = -1 b=1时方法为三阶。
解: 注意这里是求 T n + 2 = y ( x n + 2 ) − y n + 2 T_{n+2}=y(x_{n+2})-y_{n+2} Tn+2=y(xn+2)yn+2。有: T n + 2 = y ( x n + 2 h ) + ( b − 1 ) y ( x n + h ) − b y ( x n ) − h 4 [ ( b + 3 ) y ′ ( x n + 2 h ) + ( 3 b + 1 ) y ′ ( x n ) ] \begin{aligned} T_{n+2}=& y\left(x_{n}+2h\right)+(b-1) y\left(x_{n}+h\right)-b y\left(x_{n}\right) \\ &-\frac{h}{4}\left[(b+3) y^{\prime}\left(x_{n}+2h\right)+(3 b+1) y^{\prime}\left(x_{n}\right)\right] \end{aligned} Tn+2=y(xn+2h)+(b1)y(xn+h)by(xn)4h[(b+3)y(xn+2h)+(3b+1)y(xn)] 与前几问类似,各自进行泰勒展开,最终得到: − 1 3 ( b + 1 ) h 3 y ′ ′ ′ ( x n ) − [ 3 8 + 7 24 b ] h 4 y ( 4 ) ( x n ) + O ( h 5 ) -\frac{1}{3}(b+1) h^{3} y^{\prime \prime \prime}\left(x_{n}\right)-\left[\frac{3}{8}+\frac{7}{24} b\right] h^{4} y^{(4)}\left(x_{n}\right)+O\left(h^{5}\right) 31(b+1)h3y(xn)[83+247b]h4y(4)(xn)+O(h5) b ≠ − 1 b \neq -1 b=1时,有 T n + 2 = − 1 3 ( b + 1 ) h 3 y ′ ′ ′ ( x n ) + O ( h 4 ) T_{n+2}=-\frac{1}{3}(b+1) h^{3} y^{\prime \prime \prime}\left(x_{n}\right)+O\left(h^{4}\right) Tn+2=31(b+1)h3y(xn)+O(h4)为二阶;反正,为: T n + 2 = − [ 3 8 + 7 24 b ] h 4 y ( 4 ) ( x n ) + O ( h 5 ) T_{n+2}=-\left[\frac{3}{8}+\frac{7}{24} b\right] h^{4} y^{(4)}\left(x_{n}\right)+O\left(h^{5}\right) Tn+2=[83+247b]h4y(4)(xn)+O(h5)是四阶。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值