这个计算器能做什么
本工具用三种经典的复合数值积分公式——梯形法、中点法和辛普森法——来近似计算函数 \(f(x)\) 在有限区间 \([a, b]\) 上的定积分。它不会只给你一个孤零零的结果,而是分别在子区间数为 2、4、8、16……(每次翻倍,直到你设定的上限 \(N\))的情况下计算各个公式的结果,并输出一张收敛过程表。这样你就能亲眼看到估算值逐渐趋于稳定,自己判断精度够不够。
使用方法
把被积函数写成以 \(x\) 为变量的数学表达式(例如 4/(1+x^2) 或 sin(x)*exp(-x))。支持的运算符有 + - * / ^ 以及括号,还支持常见函数,如 sin、cos、tan、exp、log/ln、sqrt 和 abs,以及常数 pi 和 e。设置下限 \(a\) 和上限 \(b\),选择子区间数上限 \(N\)(须为 2 的幂),再设定结果显示的有效位数。页面最醒目的那个结果是 \(n = N\) 时辛普森法的估算值,因为它通常收敛得最快。
公式详解
当区间被分成 \(n\) 个子区间时,步长为 \(h = (b - a)/n\),节点为 \(x_i = a + i\,h\)。梯形法对各节点函数值求和,但两个端点只取一半权重。中点法则在每个子区间的中心点取样。辛普森法把两者结合起来,权重依次为 1、4、2、4、……、4、1,对三次多项式可以精确积分,误差为 \(h^4\) 量级,而另外两种方法的误差只有 \(h^2\) 量级。
$$\int_{a}^{b} f(x)\,dx \approx \frac{h}{3}\left[ f(x_0) + 4\sum_{i\,\text{odd}} f(x_i) + 2\sum_{i\,\text{even}} f(x_i) + f(x_N) \right]$$
实例演算
对于 \(f(x) = 4/(1+x^2)\) 在 \([0, 1]\) 上的积分,精确值正好等于 \(\pi = 3.14159265\ldots\)。当 \(n = 4\)、\(h = 0.25\) 时,梯形法的结果约为 \(3.131176\),中点法约为 \(3.146801\),辛普森法约为 \(3.141569\)——已经精确到小数点后五位。随着 \(n\) 增大,三种方法都会越来越接近 \(\pi\)。
常见问题
为什么 \(N\) 必须是 2 的幂?子区间数每次翻倍,便于你横向比较相邻各行的结果,同时也能保证辛普森法所需的子区间数始终为偶数。
哪些函数不在适用范围内?收敛过程表假定被积函数是光滑的(解析的)且非周期的。如果函数在 \([a, b]\) 内部存在奇点,比如 \(1/x\) 跨越零点,就会产生无穷大或毫无意义的结果。
如果 \(a\) 等于 \(b\),或者 \(a\) 大于 \(b\) 怎么办?若 \(a = b\),积分值为 0。若 \(a > b\),结果等于在 \([b, a]\) 上积分的相反数(带负号)。