ここでは 4 次精度差分公式の導出を行う. ただし, ここではスタッガードグリッドを考えていることに注意されたい.
x+Δx/2 x-Δx/2 ↓ ↓ --△--+--△--●--△--+--△-- ↑ ↑ ↑ x-3Δx/2 x x+3Δx/2
上図において, ●上の微分系数を△の 4 点の値を用いて計算する.
f(x-Δx/2), f(x+Δx/2) をテーラー展開すると,
f(x-Δx/2) = f(x) - f'(x)Δx/2 + (1/2)f"(x)(Δx/2)2 - (1/3!) f(3)(Δx/2)3 + (1/4!)f(4)(Δx/2)4 - (1/5!)f(5)(Δx/2)5 + ... , f(x+Δx/2) = f(x) + f'(x)Δx/2 + (1/2)f"(x)(Δx/2)2 + (1/3!)f(3)(Δx/2)3 + (1/4!)f(4)(Δx/2)4 + (1/5!)f(5)(Δx/2)5 + ... .
辺々引くと,
f(x+Δx/2) - f(x-Δx/2) = f'(x)Δx + (1/24)f(3)(Δx)3 + (1/1920)f(5)(Δx) + ... . (1)
同様に f(x-3Δx/2), f(x+3Δx/2) をテーラー展開すると,
f(x+3Δx/2) - f(x-3Δx/2) = 3f'(x)Δx + (27/24)f(3)(Δx)3 + (243/1920)f(5)(Δx)5 + ... . (2)
(1)x27 - (2) を計算して f(3)(Δx)3 の項を消去すると
f'(x) = (9/8){ f(x+Δx/2) - f(x-Δx/2) }/Δx - (1/24){ f(x+3Δx/2) - f(x-3Δx/2) }/Δx + (3/640)f(x)(5)(Δx)4 + ... .
Δx の 4 次以上の項を無視すると 4 次精度差分公式
f'(x) = (9/8){ f(x+Δx/2) - f(x-Δx/2) }/Δx - (1/24){ f(x+3Δx/2) - f(x-3Δx/2) }/Δx
を得る.
ここでは 4 次精度中心差分による打ち切り誤差の大きさを求める. 誤差は差分公式導出の際に無視した項(の中で最も大きい)
(3/640)f(x)(5)(Δx)4
で与えられる. また, f(x) = sin(2πx/L), L=NΔx (L は領域幅, N は解像度)を代入すると
(3/640)(2π/L)5(Δx)4 = (3/20)π5/(L N4)
と表すこともできる.