求两类数值积分公式并验证适用性及与梯形/矩形法则的关联
问题1:[0,1]区间两点积分公式推导
咱们要找形如 $\int_0^1 f(x)dx=af(0)+bf(1)$ 的公式,要求它对 $f(x)=1$ 和 $f(x)=x^2$ 的积分结果完全准确。
推导步骤
代入 $f(x)=1$:
左边的积分结果是 $\int_0^1 1dx=1$,右边是 $a\cdot1 + b\cdot1 = a+b$,于是得到第一个方程:
$$a + b = 1$$代入 $f(x)=x^2$:
左边积分得 $\int_0^1 x^2dx=\frac{1}{3}$,右边是 $a\cdot0^2 + b\cdot1^2 = b$,所以第二个方程:
$$b = \frac{1}{3}$$
把 $b=\frac{1}{3}$ 代入第一个方程,算出 $a=1-\frac{1}{3}=\frac{2}{3}$。最终得到的数值积分公式是:
$$\int_0^1 f(x)dx=\frac{2}{3}f(0)+\frac{1}{3}f(1)$$
验证对 $f(x)=x$ 是否成立
先算左边的精确积分:$\int_0^1 xdx=\frac{1}{2}$
再代入公式算右边:$\frac{2}{3}\cdot0 + \frac{1}{3}\cdot1=\frac{1}{3}$
显然 $\frac{1}{2}\neq\frac{1}{3}$,所以这个公式对 $f(x)=x$ 不成立。
问题2:[-1,1]区间三点积分公式推导
目标是构造 $\int_{-1}^1 f(x)dx=af(-1)+bf(0)+cf(1)$,要求对 $f(x)=x$、$f(x)=x2$、$f(x)=x3$ 的积分结果准确。
推导步骤
这里用插值型积分的思路来推:构造过 $(-1,f(-1))$、$(0,f(0))$、$(1,f(1))$ 的Lagrange插值多项式,对多项式积分得到系数 $a,b,c$,同时满足三次多项式的积分准确要求。
逐个代入目标函数列方程:
代入 $f(x)=x$:
左边积分 $\int_{-1}^1 xdx=0$,右边是 $a\cdot(-1)+b\cdot0 + c\cdot1 = -a + c$,得到方程:
$$-a + c = 0 \implies c = a$$代入 $f(x)=x^2$:
左边积分 $\int_{-1}^1 x^2dx=\frac{2}{3}$,右边是 $a\cdot(-1)^2 + b\cdot0^2 + c\cdot1^2 = a + c$,结合 $c=a$,得:
$$2a = \frac{2}{3} \implies a = \frac{1}{3}, c=\frac{1}{3}$$代入 $f(x)=1$(补充独立方程,因为$f(x)=x$和$f(x)=x^3$的方程线性相关):
左边积分 $\int_{-1}^1 1dx=2$,右边是 $a + b + c$,代入 $a=c=\frac{1}{3}$,得:
$$\frac{1}{3} + b + \frac{1}{3} = 2 \implies b = \frac{4}{3}$$
最终得到的公式是:
$$\int_{-1}^1 f(x)dx=\frac{1}{3}f(-1)+\frac{4}{3}f(0)+\frac{1}{3}f(1)$$
(其实这就是区间缩放到[-1,1]的辛普森1/3法则)
验证其他函数的积分准确性
- 对 $f(x)=1$:左边积分=2,右边=$\frac{1}{3}\cdot1+\frac{4}{3}\cdot1+\frac{1}{3}\cdot1=2$,结果准确。
- **对 $f(x)=x4$**:左边积分=$\int_{-1}1 x^4dx=\frac{2}{5}$,右边=$\frac{1}{3}\cdot1+\frac{4}{3}\cdot0+\frac{1}{3}\cdot1=\frac{2}{3}$,$\frac{2}{5}\neq\frac{2}{3}$,结果不准确。
- 对 $f(x)=x^5$:左边积分=0,右边=$\frac{1}{3}\cdot(-1)+\frac{4}{3}\cdot0+\frac{1}{3}\cdot1=0$,结果准确。
与梯形/矩形法则的关系
这个公式和梯形法则、矩形法则都不相同:
- 梯形法则在[-1,1]上的形式是 $\int_{-1}^1 f(x)dx\approx f(-1)+f(1)$,只用到两个端点,精度为1次(对一次多项式准确)。
- 矩形法则(中点法则)是 $\int_{-1}^1 f(x)dx\approx2f(0)$,只用到中点,精度为2次(对二次多项式准确)。
- 咱们推导的这个公式结合了端点和中点的函数值,权重不同,精度达到3次(对三次多项式都准确),是比前两者精度更高的辛普森1/3法则。
内容的提问来源于stack exchange,提问作者james black

