有効数字について
以前質問をした時、有効数字は計算途中では考えないから、途中で計算結果を丸めてはいけないと言われたのですが、下のサイトでは途中式の計算結果を丸めているのですがこれは間違いですか?
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
つい集めてしまうものはなんですか?
人間誰もは1つ「やたらこればかり集めてしまう」というものがあるもの。 あなたにとって、つい集めてしまうものはなんですか?
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
CDの保有枚数を教えてください
ひとむかし前はCDを買ったり借りたりが主流でしたが、サブスクで簡単に音楽が聴ける今、CDを手に取ることも減ってきたかと思います。皆さんは2024年現在、何枚くらいCDをお持ちですか?
-
【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
【お題】 ・買ったばかりの自転車を分解してひと言
-
ハマっている「お菓子」を教えて!
この世には、おいしいお菓子がありすぎて……。 次何を食べたらいいか迷っています。 みなさんが今、ハマっている「お菓子」を教えてください!
-
化学での有効数字について(途中計算)
化学
-
有効数字は最後答えを出すときに、途中式を遡って足し算引き算とか掛け算割り算の場合によってチェックして
高校
-
【有効数字について】 授業で、有効数字の桁数が指定なしの時は問題文(の中でも有効数字の桁数の小さいほ
物理学
-
-
4
平均値、標準偏差の有効数字について教えてください。
統計学
-
5
計算をして有効数字2桁で答えなければいけない時、途中計算では一桁多くとって3桁で計算すると習いました
数学
-
6
計算結果の微妙なズレ(大学入試)
化学
-
7
偏微分の記号∂の読み方について教えてください。
数学
-
8
微積分の記号δ、d、Δ、∂の違い
数学
-
9
パーセントの計算での有効数字について
数学
-
10
サイト名ってなんですか?
その他(暮らし・生活・行事)
-
11
統計学における有効数字について質問です。
統計学
-
12
有効数字の計算についての質問です。 計算途中は有効数字+1桁の意味がわかりません。 加減のみの場合
化学
-
13
推定(統計)です。有効数字の扱いがよくわからないのですが、この場合標準偏差が2桁なので2桁に合わして
統計学
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三菱シーケンサ(Aシリーズ)で...
-
VB.net Double と...
-
16進数 加算 減算 C言語
-
floatの有効桁数
-
どんな数字を入力してもaverage...
-
ExcelでPC(パソコン)によって...
-
三角関数、逆三角関数の算出方...
-
O(n log n)について2
-
c languageで 簡単な質問があ...
-
VBAでミリ秒まで出力する方法
-
有効数字について 以前質問をし...
-
-2.18+2.11=-7.00000000000003E...
-
エクセルの多い桁数を表示させ...
-
C#にて電卓を作りたいのですが...
-
100桁の計算ができなくて困って...
-
三角比の俯角の計算
-
信頼区間の1.96や1.65ってどこ...
-
2÷3などの余りについて
-
「指定されたキャストは有効で...
-
エクセルで可視セルにのみ値貼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
O(n log n)について2
-
c languageで 簡単な質問があ...
-
16進数 加算 減算 C言語
-
有効数字について 以前質問をし...
-
ExcelのINT関数の計算結果がお...
-
除算を使わずに10で割りたい。
-
VB.net Double と...
-
2進数の足し算(C言語)
-
ExcelでPC(パソコン)によって...
-
三菱シーケンサ(Aシリーズ)で...
-
EXCELの関数"STDEV(標準偏差)"...
-
”/”を使わずに割り算したいんで...
-
floatの有効桁数
-
VBAでミリ秒まで出力する方法
-
コンピューターは指数関数をど...
-
距離から緯度経度を求める方法
-
VB6.0での小数点の扱いについて
-
時刻の比較
-
どんな数字を入力してもaverage...
-
powf を使わずにべき乗を計算
おすすめ情報