什么是中心差分近似?
对于具有多阶导数的连续函数 f(x), 根据泰勒展开公式有:
f(t)=f(t0)+f′(t0)(t−t0)+2!1f′′(t0)(t−t0)2+3!1f′′′(t0)(t−t0)3+…
示意图如下:
令 h=t−t0, t0=x,则有:
f(x+h)=f(x)+hf′(x)+2!h2f′′(x)+3!h3f′′′(x)+…f(x−h)=f(x)−hf′(x)+2!h2f′′(x)−3!h3f′′′(x)+…
中心差分是近似计算 f(x) 导数的常用数值方法,根据上面的泰勒展开式有:
一阶中心差分: f′(x)≈2hf(x+h)−f(x−h) 。
二阶中心差分:f′′(x)≈h2f(x+h)−2f(x)+f(x−h)
以此类推,可以得到更高阶导数的近似数值解,其选取的项和系数见下表:
例如,根据该表,三阶导数为:
f′′′(x)≈2h3f(x+2h)−2f(x+h)+2f(x−h)−f(x−2h)