最近、いつ泣きましたか?

掛け算、割り算の混在する計算における最終的な答えの有効数字は、「最も小さい有効桁数にまとめる」ことがJISで定められています。
 例 5桁x3桁÷2桁x4桁→2桁にまとめる

しかし、この考え方は本当に正しいでしょうか?

例えば、有効数字0.90に対する0.01の影響は約1%です。
これに対して、有効数字0.20に対する0.01の影響は5%で、上記よりもはるかに影響が大です。

単に「”桁数”で見切って処理する」というやり方は、理論的に間違っているのではないでしょうか?

統計理論上の質問です。

A 回答 (13件中11~13件)

ちょっと訂正します.



> 後者の場合は,有効数字m桁目に±1の誤差を含むことになり,
> それ以下の桁は全く信用できません.したがって有効桁数はmです.

誤:それ以下の桁
正:それより下の桁
    • good
    • 0

> 単に「”桁数”で見切って処理する」というやり方は、


> 理論的に間違っているのではないでしょうか?

とりあえず乗算の有効桁数について,少し大雑把な証明をしてみます.
(精確・厳密ではありません.)

ある数値 X (真値) を四捨五入して有効数字m桁に丸めた値を X' とする.
乗除算の有効数字なので,考えやすいように X' の指数部を無視し,
仮数部だけを取り出して 1 ≦ X' < 10 と仮定しても一般性を失わない.

X' に対する真値Xの範囲は,四捨五入の意味を考えると,
X' - 5 * 10^(-m) ≦ X < X' + 5 * 10^(-m).

真値に対する相対誤差 (X'/X - 1) は次のようになる.
-5 * 10^(-m) / X < X'/X - 1 ≦ 5 * 10^(-m) / X.

したがって相対誤差の範囲は約 ±5 * 10^(-m).

同様に別の数値 Y (真値) を四捨五入して有効数字n桁に丸めた値を Y' とすると,
その相対誤差範囲は約 ±5 * 10^(-n).

したがって積 X' * Y' の相対誤差範囲は
約 ((1 ± 5 * 10^(-m)) * (1 ± 5 * 10^(-n)) - 1).

この最大値は,m≠nならば約 ±5 * 10^(-min(m, n)),m=nならば約 ±10^(1-m).
後者の場合は,有効数字m桁目に±1の誤差を含むことになり,
それ以下の桁は全く信用できません.したがって有効桁数はmです.
前者の場合は,有効数字 min(m,n)+1 桁目に±5の誤差を含むことになり,
この桁以下は全く信用できません.したがって有効桁数は min(m, n) です.
    • good
    • 0

> 例えば、有効数字0.90に対する0.01の影響は約1%です。


> これに対して、有効数字0.20に対する0.01の影響は5%で、
> 上記よりもはるかに影響が大です。

これは有効数字に対して「加減算」を行った場合の影響です.
前提である「乗除算」ではありません.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!