最近MATLAB(2011b)を触り始めた初学者です。
浮動小数に関わる知識は、情報処理技術者試験対策で自学した程度です。
小数/小数の除算の結果を確認していた際に、
同じような計算を行っているにもかかわらず、
誤差が生じる場合と生じない場合がありました。
5.01/0.01=501.0000 ←小数点以下あり(浮動小数演算の誤差発生)
5.02/0.01=502.0000 ←小数点以下あり(浮動小数演算の誤差発生)
5.03/0.01=503 ←小数点以下なし
6.01/0.01=601 ←小数点以下なし
6.02/0.01=602 ←小数点以下なし
6.03/0.01=603 ←小数点以下なし
7.01/0.01=701 ←小数点以下なし
7.01/0.01=702.0000 ←小数点以下あり(浮動小数演算の誤差発生)
7.03/0.01=703 ←小数点以下なし
8.01/0.01=801 ←小数点以下なし
8.02/0.01=802.0000 ←小数点以下あり(浮動小数演算の誤差発生)
8.03/0.01=803.0000 ←小数点以下あり(浮動小数演算の誤差発生)
小数を扱っている以上、浮動小数で除算を行えば演算誤差は生じると考えていましたが、
値によっては演算誤差が生じていない場合がありました。
なぜこのような結果となるのか、
ご存知の方がいらっしゃいましたら、ご教示頂けますでしょうか。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。