2014年10月12日日曜日

数値計算の常識

少し前に読んだ本。

興味のある章だけ飛ばし読みしたんですが、丸め誤差と桁落ち、刻み幅と数列の収束の話は読んでよかったと思う。どう考えても常識として知っておくべき。

桁落ちについてはこれまで意識してなかったので、本の中にもあった刻み幅と差分の関係を調べてみると確かにその通りでした。
y=sin(x)のx=1での差分と真値cos(1)の差を出力。 (これだとcos(1)の丸め誤差も気になる?)
刻み幅は、最も小さい点ではマシンイプシロン。そこからは順に10倍しています。

やはり刻み幅は小さければいいというものではなく、ある程度小さくなると桁落ちの影響が相対的に大きくなっていくのが見て取れます。

前進差分と中心差分で二通りやってますが、中心差分の方が精度良いというのも教科書通り。

 しかし、最初計算してみたときはx=0で差分を計算してみたのですが、このときは差分がマシンイプシロンのときも正しい値を返していました。
どうやら桁落ちの影響は常にあるわけではないようで、テストの値をきちんと用意してやらないと桁落ちの影響を見逃してしまいそうだと思いましたまる

0 件のコメント:

コメントを投稿