數值積分與數值微分

牛頓-柯特斯法則(Newton-Cotes rules)

/ NEW-tun KOHTS /

如果你在等距點上取樣了一個函數——這是很自然的做法,就像讀尺上的刻度——那麼底下面積的最佳估計是什麼?牛頓-柯特斯家族的回答是:讓單一多項式穿過這些樣本,再把該多項式精確積分。整套經典課本積分法則的階層,不過就是這一個想法配上越來越多取樣點。

配方如下:在 [a, b] 上放 n + 1 個等距節點,讓唯一的 n 次插值多項式穿過那裡的函數值,把該多項式的積分當作你的估計。每個 n 給出一個有名字的法則。用一個區間得到梯形法則(一條直線,1 次)。切成兩段並配一條拋物線得到辛普森法則(2 次)。更高階的成員配三次(辛普森 3/8 法則)、四次(布爾法則)等等。中點法則是只用內部點的開放型變體。對稱帶來一個愉快的驚喜:辛普森法則對三次式也精確,不只拋物線,所以它免費多賺一階精度。

低階牛頓-柯特斯法則,以複合形式用在許多小片上,是積分的日常主力——簡單、穩健、容易推理。誠實的警告是:請「停」在低階。高次牛頓-柯特斯法則是個陷阱,因為強迫高次多項式穿過許多等距節點會引發龍格現象——權重擺盪成很大的正負值,放大捨入誤差,而隨著加點,法則可能發散。解法正是實務所為:把階數保持在低位,改以細分(複合法則)來提升精度;或放棄等距,改用高斯或 Clenshaw-Curtis 節點。

在 [0, 1] 上對 f(x) = e^x(真積分 e - 1 = 1.71828):梯形(節點 0、1)得 (1/2)(1 + e) = 1.85914,誤差 0.14;辛普森(節點 0、0.5、1)得 (1/6)(1 + 4 e^0.5 + e) = 1.71886,誤差 6e-4。再多兩個節點(布爾法則)把誤差壓到約 1e-7。

讓多項式穿過等距樣本,再把它精確積分。

別靠在單一區間上提高牛頓-柯特斯的次數來追精度。約莫超過 8 次之後權重轉負,法則變得不穩定(龍格現象)。真正的求解器使用低階法則在細片上複合,或採用非等距的高斯/Clenshaw-Curtis 節點。

又称
closed Newton-Cotes formulasequally spaced quadrature rules等距節點求積公式