数値解析 第5回 (5) 例と注意

$y(x)=\sin(x)$, $h=0.1$ の場合の $y'$
$x$真の値
$\cos(x)$
前進差分後退差分中心差分前進差分
の誤差
後退差分
の誤差
中心差分
の誤差
$0.300000$$0.955336$$0.938981$$0.968509$$0.953745$$0.016355$$0.013172$$0.001591$
$0.400000$$0.921061$$0.900072$$0.938981$$0.919527$$0.020989$$0.017920$$0.001534$
$0.500000$$0.877583$$0.852169$$0.900072$$0.876121$$0.025413$$0.022489$$0.001462$
$0.600000$$0.825336$$0.795752$$0.852169$$0.823961$$0.029583$$0.026834$$0.001375$
$0.700000$$0.764842$$0.731384$$0.795752$$0.763568$$0.033458$$0.030910$$0.001274$

$y(x)=\sin(x)$, $h=0.01$ の場合の $y'$
$x$真の値
$\cos(x)$
前進差分後退差分中心差分前進差分
の誤差
後退差分
の誤差
中心差分
の誤差
$0.300000$$0.955336$$0.953843$$0.956798$$0.955321$$0.001494$$0.001462$$0.000016$
$0.400000$$0.921061$$0.919099$$0.922993$$0.921046$$0.001962$$0.001932$$0.000015$
$0.500000$$0.877583$$0.875171$$0.879965$$0.877568$$0.002412$$0.002382$$0.000015$
$0.600000$$0.825336$$0.822499$$0.828145$$0.825322$$0.002837$$0.002809$$0.000014$
$0.700000$$0.764842$$0.761608$$0.768051$$0.764829$$0.003234$$0.003208$$0.000013$

$y(x)=\sin(x)$, $h=0.1$ の場合の $y''$, $y'''$, $y^{(4)}$
$x$2 階の
中心差分
2 階の
中心差分
の誤差
3 階の
中心差分
3 階の
中心差分
の誤差
4 階の
中心差分
4 階の
中心差分
の誤差
$0.300000$$-0.295274$$0.000246$$-0.952951$$0.002386$$0.295028$$0.000492$
$0.400000$$-0.389094$$0.000324$$-0.918761$$0.002300$$0.388770$$0.000649$
$0.500000$$-0.479026$$0.000399$$-0.875391$$0.002192$$0.478627$$0.000798$
$0.600000$$-0.564172$$0.000470$$-0.823274$$0.002061$$0.563702$$0.000940$
$0.700000$$-0.643681$$0.000537$$-0.762932$$0.001910$$0.643145$$0.001073$

$y(x)=\sin(x)$, $h=0.01$ の場合の $y''$, $y'''$, $y^{(4)}$
$x$2 階の
中心差分
2 階の
中心差分
の誤差
3 階の
中心差分
3 階の
中心差分
の誤差
4 階の
中心差分
4 階の
中心差分
の誤差
$0.300000$$-0.295518$$0.000002$$-0.955313$$0.000024$$0.295515$$0.000005$
$0.400000$$-0.389415$$0.000003$$-0.921038$$0.000023$$0.389412$$0.000007$
$0.500000$$-0.479422$$0.000004$$-0.877561$$0.000022$$0.479418$$0.000008$
$0.600000$$-0.564638$$0.000005$$-0.825315$$0.000021$$0.564633$$0.000009$
$0.700000$$-0.644212$$0.000005$$-0.764823$$0.000019$$0.644207$$0.000011$

注意

Rem.11 きざみ幅 $h$ が小さいと
$y(x+h)$ ≒ $y(x)$
ですから、差分を計算するときに桁落ちの危険があります。 $h$ は小さく設定し過ぎてはいけません。
Rem.12 偏微分は「他の変数を定数と思って微分する」ので、 たとえば $u=u(x,y)$ が 2 変数の関数であれば、2 階の中心差分から
$\dps{\frac{\partial^2 u}{\partial x^2}}$ ≒ $\dps{\frac{1}{h^2}\{u(x+h,y) - 2\,u(x,y) + u(x-h,y)\}}$
$\dps{\frac{\partial^2 u}{\partial y^2}}$ ≒ $\dps{\frac{1}{h^2}\{u(x,y+h) - 2\,u(x,y) + u(x,y-h)\}}$
となります。 すると物理学でよく使われるラプラシアンは \begin{align} \Delta u &=\frac{\partial^2 u}{\partial x^2}+\frac{\partial^2 u}{\partial y^2} \\ &\mbox{ ≒ } \frac{1}{h^2}\{u(x+h,y) + u(x-h,y) + u(x,y+h) + u(x,y-h) - 4\,u(x,y)\} \end{align} と近似できます。
 右辺のカッコ内は $(x,y)$ を中心として $\pm h$ の点の関数値を足し合わせた形で、 その係数は
$1$
$1$$-4$$1$
$1$
となっています。これは画像処理ではラプラシアンフィルタと呼ばれ、エッジ抽出などに用いられます。
Rem.13 教科書 p.170 には「補正公式」が載っていますが、