
有効数字について
以前質問をした時、有効数字は計算途中では考えないから、途中で計算結果を丸めてはいけないと言われたのですが、下のサイトでは途中式の計算結果を丸めているのですがこれは間違いですか?
http://www.nagaoka-ct.ac.jp/~araki/s/sisoku.html
A 回答 (9件)
- 最新から表示
- 回答順に表示
No.9
- 回答日時:
#7です。
有効数字ルールを使うことが間違いだとする#8さんの意見に1票!
ところで、#7の「ある数値の区間を100分割すると、小数点以下のすごく下の桁での精度が悪化する」の件、
100だったら割り切れるじゃないの?と思われるかもしれませんが、PC演算では、100分割は割り切れません。128分割とか256分割であれば割り切れます。
ご質問とは直接関係ない話ですが、コイツ何言っているんだ。と思われたくなかったので補足しました。
最近は、こういう刻みのテクニックとかが本に書いてないなあ、と思います。昔の陳腐な計算機じゃないせいですかねぇ。
No.8
- 回答日時:
これは、有効数字の運用としては何が正しいかを聞いているんでしょうか?
それとも、誤差少なく計算するためには有効数字の運用をどう改変すれば
よいかを聞いているんでしょうか? 大前提として、有効数字ルールは
誤差評価の方法として間違っており、時として大きな誤差を生むということを
理解していなければなりません。計算法として簡単ではあるけれど、
簡単なこと以外に特に長所は無いのが有効数字です。
有効数字ルールとしては、演算の度に毎回有効数字がどこまでか
を確認するのが正しい。そうでないと、乗除算と加減算が混在した時に
最後にまとめて有効数字を決めようとしても、どこが有効桁か知る方法が
無いからです。しかし、ルールにのっとってそうやってしまうと、
他の回答者が書いているように誤差が大きくなってしまう場合があります。
そこで「途中で計算結果を丸めてはいけない」となるのですが、
この「いけない」が曲者です。これを言っている人は、何が有効数字として
正しいかを言っているのではなく、正しく計算するには有効数字ルールを
どう変更すればよいかを言っているのです。
何が間違いか?といえば、そもそも有効数字ルールを使うことが間違いです。
それ以上の話でも、それ以下の話でもありません。
No.7
- 回答日時:
計算途中で丸めるのが危険な事例の追加です。
他の同様な質問にも投稿した話で恐縮ですが・・・、
計算精度の問題は、上の桁(普通の人が有効数字と考えているような桁)が重要ではなく、下の桁が重要というケースが一杯あります。
一例として数値微分が挙げられます。
微分の精度を上げようとして刻み幅hをどんどん小さくしていくと、途中から逆に精度が悪くなるのです。
これは丸め誤差が原因なのです。それも、すごく下の桁での誤差です。簡単に言えば刻みの増分が不揃いになるからです。
ある数値の区間を100分割するときに、有効数字が上三桁と考えるのは全くの間違いで、小数点以下のすごく下の桁での精度が重要です。
そして、いよいよ解を示す段階になって有効数字を考慮する、というのが良いと思います。
ご参照されているサイトでは、そういうことが全く考慮されていません。
一言、言及すべきです。
No.6
- 回答日時:
計算途中で丸めると危険な例を示します。
ある加減算で有効桁が小数点以下第2位として、第3位まで0だったら結果を0にします。
それが、後に割り算の分母に代入されるとしたら、どうするのでしょう!
ご参照されているサイトでは、そういうことが全く考慮されていません。
一言述べるべきです。
複雑な数値計算を、かのサイトの桁揃えに沿って計算していたら、とんでもないことになります。
ご参照されているサイトでは、そもそも割り算を避けているのが姑息というか何というか。1箇所だけですよね。
過去の質問で、「途中式の計算結果を丸めてはならない」と意見された方は、計算過程でどのような数値の使われ方をされるか分からない(割り算もある)ので、できる限り可能な精度(コンピュータで言う倍精度など)で数値を持っておくべきだ、という意味で述べられたと思います。
数値計算というのは、そのような代入計算もあれば、カッコ、累乗、平方根、対数などが含まれるので、途中の計算はしっかりやるべきです。
そいて、いよいよ解を示す段階になって有効数字を考慮する、というのが良いと思います。
No.5
- 回答日時:
No.3 です。
ちょっと補足。例に示されたサイトの「もともとの数値がどういったものか分かりませんが」と書いたのは、例えばそこで使われている「50」という数値が「個数」を表わしているものだとすれば、その「50」はピッタリ50で誤差はありません。
そして、計算結果が
50[個] × 0.650 = 32.5[個]
だとしたら、個数に「0.5」はあり得ないので、この結果は
32個 or 33個
ということになります。
「四捨五入」だと常に「0.5 は切上げ」になって均等の扱いではなくなる可能性があるため、「五捨五入」という考え方は、端数がちょうど「真ん中」のときには
31.5 なら 32 (小数第1位で切上げ)
32.5 なら 32 (小数第1位で切捨て)
33.5 なら 34 (小数第1位で切上げ)
34.5 なら 34 (小数第1位で切捨て)
と「一の位」が偶数か奇数かで「切上げ」「切捨て」を分ける方法です。
なお、「個数」のような「整数でないとおかしい」数値であれば、計算途中であっても「整数に丸める」という処理をすることはあり得ます。
処理のしかたは「その数値の性質によってその都度適切に判断する」というのが正しい考え方だと思います。
「有効数字」というのは、そういった処理を「機械的にやればよい」という簡便さが最大のメリットなので、「途中経過は機械的に処理して、最終結果だけに適用する」という運用方法でよいと思います。
No.4
- 回答日時:
#2です。
3)で32へ丸めているのは、この先、加減算しかしないからだと思います。
有効数字は最後に調整すれば良いです。
それに対して計算途中で丸めるのは筆算で楽をしたいからであり、最終結果の上位桁に影響を及ぼさない範囲で楽をしましょうってことです。影響が無ければ丸めても構わないだけであり、間違いではありません。
計算機で計算を行うときは、計算途中で丸めることは絶対にしません。むしろ桁落ちを避けるため、さらなる配慮が必要です。
No.3
- 回答日時:
はい。
間違いだと思います。そもそもの元の数値がどういったものか分かりませんが
12.3 ± 0.05
50 ± 0.5
0.650 ± 0.0005
という誤差で
12.3 + 50 × 0.650
という演算をしたとするならば、その結果は
44.8 ± 0.33
ぐらいです。
これは、与えられた数値が上のような標準偏差を持つ正規分布だとみなしたときの、最終演算結果が
平均値:44.8、標準偏差 0.33
ぐらいに分布しそうということです。
これを「2桁」にするときに「45」とするか「44」とするかの話ですが、「45」とした方が誤差が少なそうな気がします。
お示しのサイトでは、これを「44」にしているわけですが、演算結果の取り扱いとしてはちょっと疑問です。
そもそも、まっとうに誤差を評価せずに、「有効数字」というという判断で誤差を丸めてあたかも正しそうな「決定数値」で表わすこと自体が「乱暴」なやり方なので、何が「正しいやり方か」を議論しても無駄な気がします。
お示しのサイトでは「小数1位以下は1位のちょうど半分(0.50)なので、小数1位を五捨五入する。1位は偶数(2)なので切り捨てる。」ということをしています。
これは下記の JIS (Z8401)で取り入れている考え方です。
「四捨五入」だと「切上げ」の確率が高くなるので(1/2 処理をしたら必ず「切上げ」になってしまう)、「切上げ」と「切捨て」の確率を均等にするやり方です。ただし、この JIS は「有効数字の処理方法」を規定しているわけではありませんので念のため。
リンク先の「前のページ」でそれを紹介しているので、このページの事例でそれを実践しているのだと思います。
↓
http://www.nagaoka-ct.ac.jp/~araki/s/yukousuji.h …
↓ JIS Z8401「数値の丸め方」
http://kikakurui.com/z8/Z8401-2019-01.html
お示しのサイトの最終ページ「誤差伝播」のところまで読んで、ご自分で判断してください。
No.1
- 回答日時:
おはようございます。
詳しくはありませんが、最終的にどれ位の正確な数字の結果が必要かに
よるかと思います。
例えば、有効数字3桁とかの計算でしたら、余り桁数が多すぎても計算が
大変ですし、有効数字3桁に影響がない範囲での丸め込みは、実質的には
問題ないと思います。
有効数字3桁なら、有効数字5桁で計算していれば、充分かと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 高校 有効数字計算 確定した値を含む 2 2023/01/18 06:03
- 化学 有効数字の取り扱いについて 高校化学では、測定値同士の計算結果の有効数字は、測定値に合わせるようにな 4 2022/06/30 14:07
- 高校 高校化学有効数字計算 4 2023/02/26 09:09
- 高校 高校化学、気体、温度の有効数字 3 2023/04/02 11:39
- その他(自然科学) 論文のまとめに関して(小論文)添削お願いします。 6 2023/07/16 14:24
- 大学受験 化学の問題で、計算結果が例えば33.2のとき、有効数字を2桁で答える場合、答えは「33」ですか?それ 2 2022/11/15 20:00
- 化学 有効数字の問題にです 4 2022/08/02 22:33
- 労働相談 有給休暇使用時の賃金の計算方法について 5 2022/04/04 00:02
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- C言語・C++・C# C言語 3 2022/10/04 15:07
このQ&Aを見た人はこんなQ&Aも見ています
-
計算をして有効数字2桁で答えなければいけない時、途中計算では一桁多くとって3桁で計算すると習いました
数学
-
【有効数字について】 授業で、有効数字の桁数が指定なしの時は問題文(の中でも有効数字の桁数の小さいほ
物理学
-
化学での有効数字について(途中計算)
化学
-
-
4
計算結果の微妙なズレ(大学入試)
化学
-
5
有効数字は最後答えを出すときに、途中式を遡って足し算引き算とか掛け算割り算の場合によってチェックして
高校
-
6
有効数字についてですが、掛け算と足し算が両方ある場合、有効数字は何にあわせるのでしょうか。 掛け算の
化学
-
7
平均値、標準偏差の有効数字について教えてください。
統計学
-
8
かけ算(わり算)と足し算(引き算)の混ざった計算では計算結果の有効数字はかけ算の場合と足し算場合のど
計算機科学
-
9
有効数字の計算についての質問です。 計算途中は有効数字+1桁の意味がわかりません。 加減のみの場合
化学
-
10
統計学における有効数字について質問です。
統計学
-
11
有効数字
化学
-
12
有効数字の桁数と平均操作
物理学
-
13
【高校化学】有効数字の指定が無い問題
化学
-
14
平均値をとると有効数字が増える?
数学
-
15
ガラス器具の許容範囲誤差と有効数字
化学
-
16
高校化学の計算問題のコツを教えてください
化学
-
17
教科書に問題文の数値が整数のみの場合は有効数字を考慮しなくて良い、とあるのですがどういうことですか?
物理学
-
18
0の有効数字
物理学
-
19
偏微分の記号∂の読み方について教えてください。
数学
-
20
有効数字(有効桁数)と四捨五入について・・・。
数学
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三菱シーケンサ(Aシリーズ)で...
-
16進数とかわからないです
-
”/”を使わずに割り算したいんで...
-
EXCELの関数"STDEV(標準偏差)"...
-
乱数について
-
VB6.0での小数点の扱いについて
-
有効数字について 以前質問をし...
-
C言語の実数演算の速度は、値に...
-
計算の丸め誤差の解消について
-
除算を使わずに10で割りたい。
-
2進数データのビット演算
-
c languageで 簡単な質問があ...
-
16進数 加算 減算 C言語
-
BCD・HEX・BINについて
-
VBAでの割り算の余りの求め方
-
CRCの計算方法について
-
差分積分、数値積分の誤差について
-
距離から緯度経度を求める方法
-
正弦波の波形について
-
浮動小数点演算を固定小数点演...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
O(n log n)について2
-
有効数字について 以前質問をし...
-
三菱シーケンサ(Aシリーズ)で...
-
ExcelでPC(パソコン)によって...
-
c languageで 簡単な質問があ...
-
ExcelのINT関数の計算結果がお...
-
VB.net Double と...
-
VBAでミリ秒まで出力する方法
-
16進数 加算 減算 C言語
-
EXCELの関数"STDEV(標準偏差)"...
-
floatの有効桁数
-
除算を使わずに10で割りたい。
-
計算の丸め誤差の解消について
-
VB6.0での小数点の扱いについて
-
コンピューターは指数関数をど...
-
2038年問題 日付算出
-
時刻の比較
-
2進数、16進数、10進数のことを...
-
浮動小数演算は実行環境の変化...
-
2進数の足し算(C言語)
おすすめ情報