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

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

常微分方程的初值问题

{dydx=f(x,y)y(x0)=y0\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​​ 即,我们要求解函数yyy的数学表达式,然而我们目前只有yyy在某个点(初始点)的值(初值),以及yyy的导数y′y^{\prime}y′的表达式,而y′y^{\prime}y′式中本身是包含yyy的。为此需要设计相应的数值计算方法进行近似。


显式Euler法

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


隐式Euler法

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


梯形公式

yn+1=yn+h2[f(xn,yn)+f(xn+1,yn+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法

yn+1=yn+h2[f(xn,yn)+f(xn+1,yn+hf(xn,yn))]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​))]


龙格-库塔法

{yn+1=yn+h(c1K1+c2K2+⋯+crKr)(n=0,1,2,⋯)K1=f(xn,yn)Ki=f(xn+aih,yn+h∑j=1i−1bijKj)(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(c1​K1​+c2​K2​+⋯+cr​Kr​)(n=0,1,2,⋯)K1​=f(xn​,yn​)Ki​=f(xn​+ai​h,yn​+h∑j=1i−1​bij​Kj​)(i=2,3,⋯,r)​


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

{yn+1=yn+hK2(n=0,1,2,⋯)K1=f(xn,yn)K2=f(xn+12h,yn+12hK1)\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​+21​h,yn​+21​hK1​)​


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

{yn+1=yn+h4(K1+3K2)(n=0,1,2,⋯)K1=f(xn,yn)K2=f(xn+23h,yn+23hK1)\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​+32​h,yn​+32​hK1​)​


龙格-库塔法&四阶

{yn+1=yn+h6(K1+2K2+2K3+K4)(n=0,1,2,⋯)K1=f(xn,yn)K2=f(xn+h2,yn+h2K1)K3=f(xn+h2,yn+h2K2)K4=f(xn+h,yn+hK3)\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​+2h​K1​)K3​=f(xn​+2h​,yn​+2h​K2​)K4​=f(xn​+h,yn​+hK3​)​


单步法,收敛性

单步法的统一形式为:yn+1=yn+hφ(xn,yn,yn+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) 如果不含yn+1y_{n+1}yn+1​,则称为显示单步法,否则为隐式单步法。

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


局部截断误差,阶,精度

设y(x)y(x)y(x)为微分方程的精确解,那么有精确解减去数值解:Tn+1=y(xn+1)−yn+1=y(xn+1)−y(xn)−hφ(xn,y(xn),y(xn+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)​ 称Tn+1T_{n+1}Tn+1​为单步法的局部截断误差。


泰勒展开式

研究局部截断误差的有关问题,基本上都是离不开泰勒展开。一般我们在处理局部截断误差精度时会去把精确解y(xn+1)y(x_{n+1})y(xn+1​)展开,即:y(xn+1)=y(xn+h)=y(xn)+y′(xn)h+y′′(xn)2!h2+y′′′(xn)3!h3+⋯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(xn+h,yn+k)f(x_{n}+h,y_{n}+k)f(xn​+h,yn​+k)给展开:f(xn+h,yn+k)=f(xn,yn)+∂f(xn,yn)∂xh+∂f(xn,yn)∂yk+12![∂2f(xn,yn)∂x2h2+2∂2f(xn,yn)∂x∂yhk+∂2f(xn,yn)∂y2k2]+⋯\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​)+∂x∂f(xn​,yn​)​h+∂y∂f(xn​,yn​)​k2!1​[∂x2∂2f(xn​,yn​)​h2+2∂x∂y∂2f(xn​,yn​)​hk+∂y2∂2f(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(y−g(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.0020 < h \leq 0.0020<h≤0.002
2) 隐式欧拉法的绝对稳定域为(0,∞)(0,\infty)(0,∞),因此无限制
3) 对于显式Euler法,可以写出迭代公式如下:yn+1=yn+h[−1000(yn−g(xn))+g′(xn)]y_{n+1}=y_n+h[-1000(y_n-g(x_n))+g^{\prime}(x_n)]yn+1​=yn​+h[−1000(yn​−g(xn​))+g′(xn​)] 而既然g(x)g(x)g(x)不超过一次,那么令g(x)=ax+bg(x)=ax+bg(x)=ax+b,代入上式,可得yn+1=yn+h[−1000(yn−ax−b)+a]y_{n+1}=y_n+h[-1000(y_n-ax-b)+a]yn+1​=yn​+h[−1000(yn​−ax−b)+a] 而y0=y(0)=g(0)=by_0=y(0)=g(0)=by0​=y(0)=g(0)=b,可递推得y1=ah+by_1=ah+by1​=ah+b,y2=a(2h)+by_2=a(2h)+by2​=a(2h)+b,…,yn=a(nh)+by_n=a(nh)+byn​=a(nh)+b,容易发现总是能得到精确解,因此无步长限制。

例题1(课后习题3)

用梯形法解初值问题{y′+y=0y(0)=1\left\{\begin{array}{l} y^{\prime}+y=0 \\ y(0)=1 \end{array}\right. {y′+y=0y(0)=1​ 证明其近似解为yn=[2−h2+h]ny_{n}=\left[\frac{2-h}{2+h}\right]^{n}yn​=[2+h2−h​]n,并证明当h→0h \rightarrow 0h→0时,它收敛于原初值问题的准确解y=e−xy=e^{-x}y=e−x
:这里我们给出梯形法的公式:yn+1=yn+h2[f(xn,yn)+f(xn+1,yn+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′=−yf(x,y)=y^{\prime}=-yf(x,y)=y′=−y,代进去,有:yn+1=yn+h2(−yn−yn+1)y_{n+1}=y_{n}+\frac{h}{2}\left(-y_{n}-y_{n+1}\right)yn+1​=yn​+2h​(−yn​−yn+1​) 移项,可以得到:yn+1=[2−h2+h]yn=[2−h2+h]2yn−1=[2−h2+h]n+1y0y_{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+h2−h​]yn​=[2+h2−h​]2yn−1​=[2+h2−h​]n+1y0​ 代入y0=1y_{0}=1y0​=1,可以证得近似解。而由于x=nhx=nhx=nh,n为运算次数,h为步长,因此该式可化为:yn=[2−h2+h]x/hy_{n}=\left[\frac{2-h}{2+h}\right]^{x / h}yn​=[2+h2−h​]x/h lim⁡h→0yn=lim⁡h→0[(1−2h2+h)2+h2h]2h2+hxh=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} h→0lim​yn​=h→0lim​[(1−2+h2h​)2h2+h​]2+h2h​hx​=e−x


例题2(课后习题6)

证明对任意参数ttt,下列龙格-库塔方法是二阶的:
{yn+1=yn+12h(K2+K3)K1=f(xn,yn)K2=f(xn+th,yn+thK1)K3=f(xn+(1−t)h,yn+(1−2)hK1\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​+21​h(K2​+K3​)K1​=f(xn​,yn​)K2​=f(xn​+th,yn​+thK1​)K3​=f(xn​+(1−t)h,yn​+(1−2)hK1​​ :Tn+1=y(xn+1)−yn+1T_{n+1}=y(x_{n+1})-y_{n+1}Tn+1​=y(xn+1​)−yn+1​ 首先利用泰勒展开处理y(xn+1)=y(xn+h)y(x_{n+1})=y(x_n + h)y(xn+1​)=y(xn​+h),有:y(xn+h)=y(xn)+hy′(xn)+12h2y′′(xn)+13!h3y′′′(ξ)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​)+21​h2y′′(xn​)+3!1​h3y′′′(ξ) 而yn+1=y(xn)+h2(K2+K3)=y(xn)+12h[f(xn+th,yn+thy′(xn))+f(xn+(1−t)h,yn+(1−t)hy′(xn))])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​)+21​h[f(xn​+th,yn​+thy′(xn​))+f(xn​+(1−t)h,yn​+(1−t)hy′(xn​))]) 对f(xn+th,yn+thy′(xn))f\left(x_n+t h, y_n+t h y^{\prime}(x_n)\right)f(xn​+th,yn​+thy′(xn​))与f(xn+(1−t)h,yn+(1−t)hy′(xn))f\left(x_n+(1-t) h, y_n+(1-t) h y^{\prime}(x_n)\right)f(xn​+(1−t)h,yn​+(1−t)hy′(xn​))各自做二元泰勒展开,带回原式,可解得最后Tn+1=O(h3)T_{n+1}=O(h^3)Tn+1​=O(h3),即方法是二阶的。


例题3(课后习题7)

证明中点公式yn+1=yn+hf(xn+h2,yn+12hf(xn,yn))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​+21​hf(xn​,yn​))是二阶的。
解: Tn+1=y(xn+1)−y(xn)−hf(xn+h2,y(xn)+h2y′(xn))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​)+2h​y′(xn​)) 根据泰勒展开式将y(xn+1)y(x_{n+1})y(xn+1​)展开,有:y(xn+1)=y(xn)+hy′(xn)+h22y′′(xn)+h36y′′′(xn)+O(h4)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​)+2h2​y′′(xn​)+6h3​y′′′(xn​)+O(h4) 同理,利用二元泰勒公式将f(xn+h2,y(xn)+h2y′(xn))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​)+2h​y′(xn​))展开,有:f(xn+h2,y(xn)+h2y′(xn))=f(xn,y(xn))+h2∂f(xn,y(xn))∂x+h2y′(xn)∂f(xn,y(xn))∂y+12![(h2)2∂2f(xn,y(xn))∂x2+h2h2y′(xn)∂2f(xn,y(xn))∂x∂y+[h2y′(xn)]2∂2f(xn,y(xn))∂y2]+O(h3)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​)+2h​y′(xn​))=f(xn​,y(xn​))+2h​∂x∂f(xn​,y(xn​))​+2h​y′(xn​)∂y∂f(xn​,y(xn​))​+2!1​[(2h​)2∂x2∂2f(xn​,y(xn​))​+2h​2h​y′(xn​)∂x∂y∂2f(xn​,y(xn​))​+[2h​y′(xn​)]2∂y2∂2f(xn​,y(xn​))​]+O(h3) 把这两个泰勒展开后的式子代回去,由于y′(xn)y^{\prime}(x_{n})y′(xn​)其实就是f(xn,yn)f(x_{n},y_{n})f(xn​,yn​),因此消掉一堆东西后可以得到:=h33!y′′′(xn)−h38[∂2f∂x2+y′(x)∂2f∂x∂y+(y′(x))2∂2∂y2](xn,y(xn))+O(h4)\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!h3​y′′′(xn​)−8h3​[∂x2∂2f​+y′(x)∂x∂y∂2f​+(y′(x))2∂y2∂2​](xn​,y(xn​))​+O(h4)​ 因此是二阶的。


例题4(课后习题11)

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


例题5(课后习题12)

试证明线性二步法yn+2+(b−1)yn+1−byn=h4[(b+3)fn+2+(3b+1)fn]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​+(b−1)yn+1​−byn​=4h​[(b+3)fn+2​+(3b+1)fn​]当b≠−1b \neq-1b​=−1时方法为二阶,当b=−1b = -1b=−1时方法为三阶。
解: 注意这里是求Tn+2=y(xn+2)−yn+2T_{n+2}=y(x_{n+2})-y_{n+2}Tn+2​=y(xn+2​)−yn+2​。有:Tn+2=y(xn+2h)+(b−1)y(xn+h)−by(xn)−h4[(b+3)y′(xn+2h)+(3b+1)y′(xn)]\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)+(b−1)y(xn​+h)−by(xn​)−4h​[(b+3)y′(xn​+2h)+(3b+1)y′(xn​)]​ 与前几问类似,各自进行泰勒展开,最终得到:−13(b+1)h3y′′′(xn)−[38+724b]h4y(4)(xn)+O(h5)-\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​+247​b]h4y(4)(xn​)+O(h5) 当b≠−1b \neq -1b​=−1时,有Tn+2=−13(b+1)h3y′′′(xn)+O(h4)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)为二阶;反正,为:Tn+2=−[38+724b]h4y(4)(xn)+O(h5)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​+247​b]h4y(4)(xn​)+O(h5)是四阶。

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

  1. 数值分析(第五版) 第二章知识点总结

    仅供大致参考,有许多定义存在不严谨的地方:不同学校的考察重点自然是不同的 第二章 插值法 拉格朗日插值 Pn(x)=Ln(x)=∑i=0nf(xi)li(x)P_{n}(x)=L_{n}(x)=\su ...

  2. 数值分析(第五版) 第一章知识点总结

    仅供大致参考,有许多定义存在不严谨的地方:不同学校的考察重点自然是不同的 第一章 绪论 舍入误差 由于计算机字长是有限的,因此在存储数据时便可能不可避免地丢失部分信息,这便是舍入误差. 截断误差 由于 ...

  3. java2实用教程第5版第九章_java2实用教程(例子代码)第4版第九章.doc

    java2实用教程(例子代码)第4版第九章 java2实用教程(例子代码)第4版第九章 例9_3 Lt4_3.java public clss Lt4_3 { public static void m ...

  4. 带权中位数-算法导论第三版第九章思考题9-2

    带权中位数-算法导论第三版第九章思考题9-2 b 时间复杂度O(nlgn) float find_median_with_weights_b(float *array,int length) {qui ...

  5. 数据库系统概论第五版第二章习题6

    (SPJ数据库查询操作) 数据库系统概论第五版第二章习题6(SPJ数据库查询操作)_FunPony的博客-CSDN博客

  6. Spring实战第五版第二章字段校验返回视图报错解决及javax.validation完整pom依赖

    Spring实战第五版第二章 2.3 校验表单输入 在编写"/design"页面post处理逻辑时,按照书本上直接'return "design"; '方式,会 ...

  7. 开发日记-20190915 关键词 汇编语言王爽版 第九章

    第九章 转移指令的原理 可以修改IP或同事修改CS和IP和指令统称为转移指令.概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令. 8086CPU的转移行为有以下几类: 只修改IP时,称为段 ...

  8. 数值分析第五版电子版_二年级上册数学重点必考题20道,看看不吃亏!【有电子版】...

    张老师 - 2年级(多品小学教育) 南京民办外国语实验学校于老师和净潭小学姚老师需要的这份学习资料现在分享. 本资料已制作电子版 下载码是:5gohvcyr [重点题一] 45+17+28=   65 ...

  9. 电路 第五版 第二章 电阻电路的等效变换

    第二章电阻电路的等效变换 2-1 引言 2-2 电路的等效变换 2-3 电阻的串联和并联 2-4 电阻的Y形联结和△联结 2-6 实际电源的两种模型一起等效变换 2-7 输入电阻

最新文章

  1. mybatis可以用oracle,使用MyBatis调用oracle函数(基于注释)
  2. Forefront_TMG_2010-TMG建立Remote ***
  3. [轉]SQL Server 2005备份维护计划
  4. IIS 承载的WCF服务失败
  5. 机器学习入门方法推荐(少走弯路)入门视频推荐
  6. Uipath开发过程中最常见的5类错误
  7. python random库下载_python基础 — random库
  8. log4j 2.x --LogManager
  9. Bootstrap 学习笔记8 下拉菜单滚动监听
  10. 阿里P8架构师谈:从单体架构、到SOA、再到微服务的架构设计详解
  11. C++11::遍历tuple中的元素
  12. 新手初识安信可ESP8266 12f机智云开发板微信直连云
  13. 对话系统 | (4) 任务型对话系统基础
  14. 网站SEO优化中tilte与h1的区别、b与strong的区别、i与em的区别
  15. 计算机的USB接口可以扩展吗,电脑USB接口不够用怎么解决
  16. build-up to Ajax v,to build up是什么意思
  17. python写stm32_python开发stm32例程
  18. Dremel made simple with Parquet (Parquet 原理分析)
  19. python中setup是什么意思_python中setuptools指的是什么
  20. 怎么使用PS一键抠图?

热门文章

  1. android rsa解密前面带乱码,C#rsa解密的解出来的结果乱码
  2. 去掉超链接的颜色_Word中怎么快速批量删除去掉网站超链接技巧
  3. python 信号量 semaphore
  4. vue里面v-cloak/v-text/v-html/v-pre的应用
  5. php遗漏,PHP被遗漏的执行函数
  6. 最急救助(【CCF】NOI Online能力测试3 入门组)
  7. 数字公式识别的学习笔记
  8. Electron的学习笔记
  9. ubuntu 下安装和配置selenium
  10. 【MySQL】一条查询语句在MySQL内部的执行过程