复合辛普森公式的推导与应用
我将为您详细讲解复合辛普森公式,这是一个在数值积分中广泛使用的重要方法。
题目描述
计算定积分 ∫ₐᵇ f(x)dx 的近似值,其中 f(x) 是定义在区间 [a,b] 上的函数。使用复合辛普森公式将积分区间等分为偶数个子区间,在每个子区间对上应用辛普森公式,然后求和得到整个积分的近似值。
解题过程
1. 基础理论回顾
首先回顾辛普森公式的基本形式。对于小区间 [x₀, x₂] 上的积分,其中 x₁ = (x₀ + x₂)/2 是中点,辛普森公式为:
∫_{x₀}^{x₂} f(x)dx ≈ (h/3)[f(x₀) + 4f(x₁) + f(x₂)]
其中 h = (x₂ - x₀)/2 是步长。这个公式实际上是通过三个点 (x₀, f(x₀)), (x₁, f(x₁)), (x₂, f(x₂)) 的二次插值多项式积分得到的。
2. 复合辛普森公式的推导
当积分区间 [a,b] 较大时,直接使用辛普森公式精度不够,需要将区间分割后复合使用。
将区间 [a,b] 等分为 n 个小区间(n 为偶数),则步长 h = (b-a)/n。
节点为:x₀ = a, x₁ = a+h, x₂ = a+2h, ..., x_n = b
在每个子区间对 [x₀,x₂], [x₂,x₄], ..., [x_{n-2},x_n] 上应用辛普森公式:
对于 [x₀,x₂]: (h/3)[f(x₀) + 4f(x₁) + f(x₂)]
对于 [x₂,x₄]: (h/3)[f(x₂) + 4f(x₃) + f(x₄)]
...
对于 [x_{n-2},x_n]: (h/3)[f(x_{n-2}) + 4f(x_{n-1}) + f(x_n)]
将所有这些小区间的积分近似值相加,得到复合辛普森公式:
S_n = (h/3)[f(x₀) + f(x_n) + 4∑f(奇数下标节点) + 2∑f(偶数下标节点)]
具体写为:
S_n = (h/3)[f(a) + f(b) + 4∑{k=1}^{n/2} f(x{2k-1}) + 2∑{k=1}^{n/2-1} f(x{2k})]
3. 算法实现步骤
步骤1:确定积分区间 [a,b] 和等分数 n(n 必须为偶数)
步骤2:计算步长 h = (b-a)/n
步骤3:计算节点值 x_k = a + kh, k = 0,1,2,...,n
步骤4:计算端点函数值之和:S_end = f(a) + f(b)
步骤5:计算奇数下标节点函数值之和:S_odd = ∑{k=1}^{n/2} f(x{2k-1})
步骤6:计算偶数下标节点函数值之和(不含端点):S_even = ∑{k=1}^{n/2-1} f(x{2k})
步骤7:计算积分近似值:S_n = (h/3)[S_end + 4S_odd + 2S_even]
4. 误差分析
复合辛普森公式的截断误差为:
E = -[(b-a)h⁴]/180 × f⁽⁴⁾(ξ),其中 ξ ∈ [a,b]
这表明复合辛普森公式具有 O(h⁴) 的收敛阶,当步长减半时,误差大约减少为原来的 1/16。
5. 应用示例
计算 ∫₀¹ sin(x)dx 的近似值,精确值为 1 - cos(1) ≈ 0.4596976941
取 n = 4(4个小区间):
h = (1-0)/4 = 0.25
节点:x₀=0, x₁=0.25, x₂=0.5, x₃=0.75, x₄=1
计算:
S_end = sin(0) + sin(1) = 0 + 0.8414709848 = 0.8414709848
S_odd = sin(0.25) + sin(0.75) = 0.2474039593 + 0.6816387600 = 0.9290427193
S_even = sin(0.5) = 0.4794255386
S₄ = (0.25/3)[0.8414709848 + 4×0.9290427193 + 2×0.4794255386]
= (0.25/3)[0.8414709848 + 3.7161708772 + 0.9588510772]
= (0.25/3)×5.5164929392
= 0.4597077449
与精确值比较,误差约为 1.0×10⁻⁵,精度很高。