有効数字と途中計算の取り扱い-切り捨て?四捨五入?-

 有効数字を考える上で途中計算値の桁の扱い方に関する疑問を解消していきましょう。

途中計算値の桁

 一般的に、有効数字n桁の計算を行う際の途中計算はn+1桁で行い、最後に結果のn+1桁目を四捨五入してn桁に戻しますね。これは数値の精度を担保するための行為ですが、ここで疑問となるのはこの場合、途中計算値のn+2桁以降はどのように取り扱うのかですね。結論から言えば、基本的に途中計算は求める答えより1桁多い桁を残し、以下を切り捨てで問題ないかと思います。ただし、明記する必要があるのは、この取り扱い方が絶対的に真に正しい結果を導くわけではなく、これはあくまで一つの流派に過ぎないということです。

以下では、途中計算値を切り捨てた場合と四捨五入した場合に計算に誤差が生じる例を示します。

途中計算値切り捨ての誤差

 途中計算値\(3.379\times1.558\)を有効数字2桁で計算するとき

\(3.379\times1.558=5.264482\approx5.3\)(真の答え)

\(3.38\times1.56=5.2728\approx5.3\)(四捨五入)

\(3.37\times1.55=5.2235\approx5.2\) (切り捨て)

途中計算値四捨五入の誤差

 途中計算値\(2.605\times1.976\)を有効数字2桁で計算するとき

\(2.605\times1.976=5.14748\approx5.1\)(真の答え)

\(2.60\times1.97=5.122\approx5.1\)(切り捨て)

\(2.61\times1.98=5.1678\approx5.2\) (四捨五入)

JISでの定義

 実は、厳密に有効数字の途中計算値の扱い方についてJISでは以下のように定められています。

数値を少数第n位に丸めようとする時

  • 条件1 小数第n+1桁の数字が5以外の時は、通常の四捨五入をする。
  • 条件2 小数第n+1位の数字が5の時、小数第n+2位以下の数値が明らかに0でなければ通常の四捨五入により切り上げる。
  • 条件3 小数第n+1位の数字が5で、小数第n+2位以下の数値が不明、あるいは0の時は、小数第n位が偶数なら切り捨て、奇数なら切り上げ。

この条件に上で示した誤差の例を当てはめると確かに真の答えになります。ただ、正直この操作をいちいち行うのはめんどくさいし、これでも精度が高いだけであって必ずしも正しい値になるわけではありません。

結論

 結局、有効桁数の議論では、最後の1桁の±1は信頼できない、ということになっているみたいです。途中計算で余分に1桁使っておけば、±1以上の誤差は乗らないはず、ということですね。逆に言うと、最後の 1桁の ±1 程度の揺れは許容すべきだということになります。一般的に途中計算値を四捨五入したか、切り捨てたかで生じる誤差は大学のテストではどちらの答えも正解として扱われるはずです。ただ、多くの文献では「途中計算は求める答えより1桁多い桁を残し、以下を切り捨て」というルールが適当という結論になっているのでそれで良いかと思います。

途中計算の回避策

 ところで、これらの議論は数値を途中で計算するために生じるものであって、このような誤差を生み出さない最も華麗な方法が最終計算まで文字を用いることです。与えられた条件をすべて文字で置き換えて式を変形し、最後に数値を代入すれば途中計算自体がなくなります。実際、テストで出される前の小問の結果を用いる様な問いでも、前の小問の最終計算前の文字式を利用すれば同様に途中計算を回避できる上、同じ値で打ち消しあうことで式がスッキリすることが多いのでおすすめです。

参考文献

タイトルとURLをコピーしました