牛顿-科特斯公式的误差分析与节点数选择策略
字数 3133 2025-11-23 15:40:55

牛顿-科特斯公式的误差分析与节点数选择策略

题目描述
计算定积分 \(I = \int_{-1}^{2} (x^2 \sin x + e^{-x}) \, dx\)。要求:

  1. 分别采用闭型牛顿-科特斯公式的 \(n=2\)(辛普森公式)和 \(n=4\)(布尔公式)进行计算;
  2. 分析两种方法的误差,并解释为何增加节点数可能不提高精度;
  3. 给出节点数选择的策略。

解题过程

1. 问题分析与公式准备
牛顿-科特斯公式将积分区间等分为 \(n\) 个子区间,用 \(n\) 次拉格朗日插值多项式逼近被积函数,其通式为:

\[\int_a^b f(x)dx \approx (b-a) \sum_{i=0}^n w_i f(x_i) \]

节点 \(x_i = a + i \cdot h\)\(h = \frac{b-a}{n}\)),权重 \(w_i\) 由拉格朗日基函数积分得到。

  • \(n=2\) 时(辛普森公式):

\[ \int_a^b f(x)dx \approx \frac{b-a}{6} \left[ f(a) + 4f\left( \frac{a+b}{2} \right) + f(b) \right] \]

  • \(n=4\) 时(布尔公式):

\[ \int_a^b f(x)dx \approx \frac{b-a}{90} \left[ 7f(x_0) + 32f(x_1) + 12f(x_2) + 32f(x_3) + 7f(x_4) \right] \]

其中 \(x_0 = a, x_4 = b, h = \frac{b-a}{4}\)


2. 具体计算
\(a=-1, b=2\),定义 \(f(x) = x^2 \sin x + e^{-x}\)

  • 辛普森公式\(n=2\),节点 \(x=-1, 0.5, 2\)):

\[ \begin{aligned} f(-1) &= (-1)^2 \sin(-1) + e^{1} \approx -0.8415 + 2.7183 = 1.8768 \\ f(0.5) &= (0.25) \sin(0.5) + e^{-0.5} \approx 0.1204 + 0.6065 = 0.7269 \\ f(2) &= 4 \sin(2) + e^{-2} \approx 3.6372 + 0.1353 = 3.7725 \\ I_{\text{Simpson}} &= \frac{3}{6} \left[ 1.8768 + 4 \times 0.7269 + 3.7725 \right] = 0.5 \times 8.555 = 4.2775 \end{aligned} \]

  • 布尔公式\(n=4\),节点 \(x=-1, -0.25, 0.5, 1.25, 2\)):

\[ \begin{aligned} f(-1) &= 1.8768 \\ f(-0.25) &= 0.0625 \sin(-0.25) + e^{0.25} \approx -0.0156 + 1.2840 = 1.2684 \\ f(0.5) &= 0.7269 \\ f(1.25) &= 1.5625 \sin(1.25) + e^{-1.25} \approx 1.4900 + 0.2865 = 1.7765 \\ f(2) &= 3.7725 \\ I_{\text{Boole}} &= \frac{3}{90} \left[ 7\times1.8768 + 32\times1.2684 + 12\times0.7269 + 32\times1.7765 + 7\times3.7725 \right] \\ &= 0.0333 \times \left[ 13.1376 + 40.5888 + 8.7228 + 56.848 + 26.4075 \right] \\ &= 0.0333 \times 145.7047 = 4.8567 \end{aligned} \]


3. 误差分析
牛顿-科特斯公式的误差项为:

\[E_n = \begin{cases} \frac{f^{(n+1)}(\xi)}{(n+1)!} \int_a^b \prod_{i=0}^n (x-x_i) dx & (n \text{为偶数}) \\ \frac{f^{(n+2)}(\xi)}{(n+2)!} \int_a^b x \prod_{i=0}^n (x-x_i) dx & (n \text{为奇数}) \end{cases} \]

  • 辛普森公式\(n=2\)):
    \(E_2 = -\frac{(b-a)^5}{2880} f^{(4)}(\xi)\)
    计算 \(f^{(4)}(x)\)
    \(f'(x) = 2x\sin x + x^2\cos x - e^{-x}\)
    \(f''(x) = 2\sin x + 4x\cos x - x^2\sin x + e^{-x}\)
    \(f'''(x) = 6\cos x - 6x\sin x - x^2\cos x - e^{-x}\)
    \(f^{(4)}(x) = -12\sin x - 8x\cos x + x^2\sin x + e^{-x}\)
    \([-1,2]\) 上,\(|f^{(4)}(x)| \leq 20\),故:

\[ |E_2| \leq \frac{3^5}{2880} \times 20 = \frac{243 \times 20}{2880} = 1.6875 \]

  • 布尔公式\(n=4\)):
    \(E_4 = -\frac{8(b-a)^7}{945} f^{(6)}(\xi)\)
    计算 \(f^{(6)}(x)\)
    \(f^{(5)}(x) = 20\cos x + 10x\sin x - x^2\cos x - e^{-x}\)
    \(f^{(6)}(x) = -30\sin x + 12x\cos x + x^2\sin x + e^{-x}\)
    \([-1,2]\) 上,\(|f^{(6)}(x)| \leq 50\),故:

\[ |E_4| \leq \frac{8 \times 3^7}{945} \times 50 = \frac{8 \times 2187 \times 50}{945} \approx 925.7 \]

误差上界显著增大,说明高次插值可能因龙格现象导致数值不稳定。


4. 节点数选择策略

  • 低次公式优先:通常选择 \(n \leq 4\) 的公式(如梯形、辛普森、布尔),避免高次插值的振荡。
  • 复合公式:将区间分割为多个子区间,在每个子区间用低次公式(如复合辛普森公式)。
  • 自适应策略:根据误差估计动态调整步长,在函数变化剧烈处加密节点。
  • 稳定性检查:若增加节点数后结果振荡或误差增大,需换用低次公式或分段计算。

5. 总结
本例中,辛普森公式结果 \(4.2775\) 更可靠(误差上界较小),而布尔公式结果 \(4.8567\) 因高次插值误差较大而精度更低。实际应用时,建议采用复合辛普森公式(例如将 \([-1,2]\) 分为 4-8 个子区间)平衡计算量与精度。

牛顿-科特斯公式的误差分析与节点数选择策略 题目描述 计算定积分 \( I = \int_ {-1}^{2} (x^2 \sin x + e^{-x}) \, dx \)。要求: 分别采用闭型牛顿-科特斯公式的 \( n=2 \)(辛普森公式)和 \( n=4 \)(布尔公式)进行计算; 分析两种方法的误差,并解释为何增加节点数可能不提高精度; 给出节点数选择的策略。 解题过程 1. 问题分析与公式准备 牛顿-科特斯公式将积分区间等分为 \( n \) 个子区间,用 \( n \) 次拉格朗日插值多项式逼近被积函数,其通式为: \[ \int_ a^b f(x)dx \approx (b-a) \sum_ {i=0}^n w_ i f(x_ i) \] 节点 \( x_ i = a + i \cdot h \)(\( h = \frac{b-a}{n} \)),权重 \( w_ i \) 由拉格朗日基函数积分得到。 \( n=2 \) 时(辛普森公式): \[ \int_ a^b f(x)dx \approx \frac{b-a}{6} \left[ f(a) + 4f\left( \frac{a+b}{2} \right) + f(b) \right ] \] \( n=4 \) 时(布尔公式): \[ \int_ a^b f(x)dx \approx \frac{b-a}{90} \left[ 7f(x_ 0) + 32f(x_ 1) + 12f(x_ 2) + 32f(x_ 3) + 7f(x_ 4) \right ] \] 其中 \( x_ 0 = a, x_ 4 = b, h = \frac{b-a}{4} \)。 2. 具体计算 设 \( a=-1, b=2 \),定义 \( f(x) = x^2 \sin x + e^{-x} \)。 辛普森公式 (\( n=2 \),节点 \( x=-1, 0.5, 2 \)): \[ \begin{aligned} f(-1) &= (-1)^2 \sin(-1) + e^{1} \approx -0.8415 + 2.7183 = 1.8768 \\ f(0.5) &= (0.25) \sin(0.5) + e^{-0.5} \approx 0.1204 + 0.6065 = 0.7269 \\ f(2) &= 4 \sin(2) + e^{-2} \approx 3.6372 + 0.1353 = 3.7725 \\ I_ {\text{Simpson}} &= \frac{3}{6} \left[ 1.8768 + 4 \times 0.7269 + 3.7725 \right ] = 0.5 \times 8.555 = 4.2775 \end{aligned} \] 布尔公式 (\( n=4 \),节点 \( x=-1, -0.25, 0.5, 1.25, 2 \)): \[ \begin{aligned} f(-1) &= 1.8768 \\ f(-0.25) &= 0.0625 \sin(-0.25) + e^{0.25} \approx -0.0156 + 1.2840 = 1.2684 \\ f(0.5) &= 0.7269 \\ f(1.25) &= 1.5625 \sin(1.25) + e^{-1.25} \approx 1.4900 + 0.2865 = 1.7765 \\ f(2) &= 3.7725 \\ I_ {\text{Boole}} &= \frac{3}{90} \left[ 7\times1.8768 + 32\times1.2684 + 12\times0.7269 + 32\times1.7765 + 7\times3.7725 \right ] \\ &= 0.0333 \times \left[ 13.1376 + 40.5888 + 8.7228 + 56.848 + 26.4075 \right ] \\ &= 0.0333 \times 145.7047 = 4.8567 \end{aligned} \] 3. 误差分析 牛顿-科特斯公式的误差项为: \[ E_ n = \begin{cases} \frac{f^{(n+1)}(\xi)}{(n+1)!} \int_ a^b \prod_ {i=0}^n (x-x_ i) dx & (n \text{为偶数}) \\ \frac{f^{(n+2)}(\xi)}{(n+2)!} \int_ a^b x \prod_ {i=0}^n (x-x_ i) dx & (n \text{为奇数}) \end{cases} \] 辛普森公式 (\( n=2 \)): \( E_ 2 = -\frac{(b-a)^5}{2880} f^{(4)}(\xi) \)。 计算 \( f^{(4)}(x) \): \( f'(x) = 2x\sin x + x^2\cos x - e^{-x} \) \( f''(x) = 2\sin x + 4x\cos x - x^2\sin x + e^{-x} \) \( f'''(x) = 6\cos x - 6x\sin x - x^2\cos x - e^{-x} \) \( f^{(4)}(x) = -12\sin x - 8x\cos x + x^2\sin x + e^{-x} \) 在 \( [ -1,2 ] \) 上,\( |f^{(4)}(x)| \leq 20 \),故: \[ |E_ 2| \leq \frac{3^5}{2880} \times 20 = \frac{243 \times 20}{2880} = 1.6875 \] 布尔公式 (\( n=4 \)): \( E_ 4 = -\frac{8(b-a)^7}{945} f^{(6)}(\xi) \)。 计算 \( f^{(6)}(x) \): \( f^{(5)}(x) = 20\cos x + 10x\sin x - x^2\cos x - e^{-x} \) \( f^{(6)}(x) = -30\sin x + 12x\cos x + x^2\sin x + e^{-x} \) 在 \( [ -1,2 ] \) 上,\( |f^{(6)}(x)| \leq 50 \),故: \[ |E_ 4| \leq \frac{8 \times 3^7}{945} \times 50 = \frac{8 \times 2187 \times 50}{945} \approx 925.7 \] 误差上界显著增大,说明高次插值可能因龙格现象导致数值不稳定。 4. 节点数选择策略 低次公式优先 :通常选择 \( n \leq 4 \) 的公式(如梯形、辛普森、布尔),避免高次插值的振荡。 复合公式 :将区间分割为多个子区间,在每个子区间用低次公式(如复合辛普森公式)。 自适应策略 :根据误差估计动态调整步长,在函数变化剧烈处加密节点。 稳定性检查 :若增加节点数后结果振荡或误差增大,需换用低次公式或分段计算。 5. 总结 本例中,辛普森公式结果 \( 4.2775 \) 更可靠(误差上界较小),而布尔公式结果 \( 4.8567 \) 因高次插值误差较大而精度更低。实际应用时,建议采用复合辛普森公式(例如将 \( [ -1,2 ] \) 分为 4-8 个子区间)平衡计算量与精度。