HOME

有効桁数

戻る

○誤差を含む数値同士の演算をしたときの誤差の現れ方(誤差の伝搬)

誤差を含む次の数値 A, B を考えよう.

A = A + δA = A(1 + δA/A),
B = B + δB = B(1 + δB/B),

ここで、 δA, δB は絶対誤差と呼ばれ、確率的に、正の場合も負の場合もある.一方、|δA/A|、|δB/B| は、A や B の大きさに対する誤差の大きさの相対的な割合を表すので、相対誤差と呼ばれる。

和・差

和・差の場合は、

A ± B = (A + δA) ± (B + δB) = (A ± B) + (δA ± δB)

となる.誤差は確率的に正負のどちらも取りうるので、誤差の最大値を見積もるにはそれぞれの絶対値の和を取る必要がある;

A ± B = (A ± B) ± (|δA| + |δB|).

結局、和と差の場合の誤差の最大値は、それぞれの「絶対誤差の和」であることがわかる.

かけ算

さて、積の場合も、

A•B = (A + δA)(B + δB) = AB(1+ δA/A + δB/B + δAδB/AB)

と書ける.ここで、誤差の大きさ |δA/A|, |δB/B| それぞれが微少量であるとすると、それらの積 |δAδB/AB| は、 |δA/A|, |δB/B| に対して更に無視出来るほど小さな微少量になる(例:|δA/A|=|δB/B|=0.1 の場合、|δAδB/AB|=0.01).従って、AとBの積は

A•B 〜 AB(1 + δA/A + δB/B) ≤ AB(1 ± (|δA/A| + |δB/B|))

と書ける.ここで、誤差は確率的に正負の両方を取りうるので、誤差の最大値を見積もるために A と B に含まれる相対誤差 |δA/A|, |δB/B| の和を取った.

わり算

同様に商の場合も、

A/B=(A + δA)/(B + δB)=(A/B)(1 + δA/A)(1 + δB/B)-1〜(A/B)(1 + δA/A)(1 - δB/B) (マクローリン展開参照)
=(A/B)(1 + δA/A - δB/B - δAδB/AB) 〜 (A/B)(1 + δA/A - δB/B) ≤ (A/B)(1 ± (|δA/A| + |δB/B|))

と書ける.ここで、誤差は確率的に正負の両方を取りうるので、差の場合であっても、相対誤差の最大値を見積もるにはそれらの絶対値の和を取る必要があることに注意が必要である.

有効桁数

有効桁数とは、誤差が含まれる最初の桁までの、桁数を意味する.例えば、

A = 2.8753 ± 0.0017

の場合には、2.8753 の 5 の位に誤差の最初の桁の 1 が来ているので、有効桁数としては、4 桁と表現することが出来る.この有効桁数という言葉は比較的大ざっぱな表現で、同じ誤差0.0017 を含んでいても、数値が 0.943 (3桁)の場合と 1.143 (4桁)の場合とでは見かけ上1桁有効桁数が違うことになるが、それを区別するほど厳密な定義ではないことに注意する.厳密な表現が必要なときには、上の「A」のように相対誤差を用いて表す必要がある.

さて、和と差で得られた数値は、それぞれが持つ絶対誤差の内、大きい方によって、結果の精度が決められてしまう;例として

A = 28.753 ± 0.007
B = 430 ± 5

の場合には、Aをいくら正確に測定しても、大きい方の絶対誤差「5」によって、和あるいは差の精度が決まってしまうことが特徴であり、Aの有効桁数を上げる意味は薄い.逆の表現をすると、有効桁数ではなく、2つの数値の絶対精度は同じ程度に揃えるのが結果の精度を上げるこつになる.

一方、積や商の演算によって得られた数値は、用いた数値に含まれる相対誤差が加算されるため、用いた数値の内で最も有効桁数の小さな数値と同じ、或いはそれより少ない有効桁数を持つ.上の例で考えると、Bの有効桁数は「3桁」以下になってしまう.即ち、積や商の時は、絶対精度は必ずしも必要ではなく、それぞれの相対精度を同じ程度に測ることが有効になる.

戻る