分别讨论n=1,2,3,4下牛顿-科茨公式的代数精度
时间: 2023-09-09 14:12:33 浏览: 60
牛顿-科茨公式是一类显式的Runge-Kutta方法,其一般形式为:
$$y_{n+1} = y_n + h\sum_{i=1}^s b_ik_i,$$
其中$k_i$为:
$$k_i = f\left(t_n+c_ih,y_n+h\sum_{j=1}^s a_{ij}k_j\right),$$
$s$为级数,$a_{ij}$、$b_i$、$c_i$为常数。
对于牛顿-科茨公式,$s=n$,即级数等于阶数。以下分别讨论$n=1,2,3,4$时牛顿-科茨公式的代数精度:
当$n=1$时,牛顿-科茨公式为欧拉法:
$$y_{n+1} = y_n + hf(t_n,y_n).$$
欧拉法的截断误差为$O(h^2)$,因此牛顿-科茨公式的代数精度为$1$。
当$n=2$时,牛顿-科茨公式为改进欧拉法:
$$y_{n+1} = y_n + \frac{h}{2}\left(f(t_n,y_n)+f\left(t_n+h,y_n+hf(t_n,y_n)\right)\right).$$
改进欧拉法的截断误差为$O(h^3)$,因此牛顿-科茨公式的代数精度为$2$。
当$n=3$时,牛顿-科茨公式为三阶RK方法:
$$\begin{aligned} k_1 &= f(t_n,y_n),\\ k_2 &= f\left(t_n+\frac{h}{2},y_n+\frac{h}{2}k_1\right),\\ k_3 &= f\left(t_n+h,y_n-hk_1+2hk_2\right),\\ y_{n+1} &= y_n + \frac{h}{6}(k_1+4k_2+k_3). \end{aligned}$$
三阶RK方法的截断误差为$O(h^4)$,因此牛顿-科茨公式的代数精度为$3$。
当$n=4$时,牛顿-科茨公式为四阶RK方法:
$$\begin{aligned} k_1 &= f(t_n,y_n),\\ k_2 &= f\left(t_n+\frac{h}{2},y_n+\frac{h}{2}k_1\right),\\ k_3 &= f\left(t_n+\frac{h}{2},y_n+\frac{h}{2}k_2\right),\\ k_4 &= f(t_n+h,y_n+hk_3),\\ y_{n+1} &= y_n + \frac{h}{6}(k_1+2k_2+2k_3+k_4). \end{aligned}$$
四阶RK方法的截断误差为$O(h^5)$,因此牛顿-科茨公式的代数精度为$4$。