梯形法則(trapezoidal rule)
把曲線下的面積想成一塊頂邊起伏的土地。最粗略卻誠實的估計,是假裝頂邊是兩端之間的一條直線,算出所得梯形的面積——一個頂邊傾斜的矩形。梯形法則正是如此,而當你把這塊地切成許多細長的直條、每條都加上一個小梯形時,它就成了真正不錯的方法。
在單一區間 [a, b] 上,此法則用 (b - a) * (f(a) + f(b)) / 2 近似 f 的積分——寬度乘以兩端高度的平均。當 f 是直線時它精確,其誤差為 -(b - a)^3 f''(xi) / 12(xi 為某點),所以誤差正比於被積函數的曲率:凸函數被高估,凹函數被低估。複合形式中,你把 [a, b] 切成 n 條寬 h = (b - a)/n 的條並相加:h * (f(x_0)/2 + f(x_1) + f(x_2) + ... + f(x_{n-1}) + f(x_n)/2)。內部點權重為一,兩端點為一半。複合誤差為 O(h^2),所以把條寬減半,誤差變成四分之一。
梯形法則是最簡單而值得一用的複合求積,也是龍貝格積分的種子——在那裡理查森外推反覆細化它,提煉成高階方法。一個美麗而被低估的事實:對在整個週期上積分的「光滑週期」被積函數,梯形法則不只是二階——它收斂得比 h 的任何冪次都快(譜精度),這正是它成為傅立葉型積分首選法則的原因。它誠實的弱點在非週期函數或奇異點附近,那裡它只有二階,而在同樣的計算次數下,更高階或自適應的法則表現好得多。
在 [0, 1] 上積 f(x) = sqrt(x)(真值 2/3 = 0.6667)。一個梯形給出 (1/2)(0 + 1) = 0.5,誤差 0.17。切成 4 條(h = 0.25):0.25 * (0/2 + sqrt(0.25) + sqrt(0.5) + sqrt(0.75) + 1/2) = 0.6433,誤差 0.023——較好,雖然在斜率無窮大的 x = 0 附近收斂受損。
用直線連接樣本,把各條梯形面積相加。
梯形法則對一般函數只有二階,所以很少是最有效率的選擇——按每次計算來算,辛普森或高斯都贏它。引人注目的例外是在整個週期上的光滑週期被積函數,那裡它具譜精度,幾乎無敵。