MATLAB Answers

Numerical errors of basic multiple

27 ビュー (過去 30 日間)
yifwang
yifwang 2019 年 8 月 26 日
コメント済み: yifwang 2019 年 8 月 26 日
When using matlab multiple calculation, some errors happen
a = 7*13e-6;
b = 6*13e-6;
the answer is
a = 9.09999999999999999e-5
b = 7.80000000000000000e-5
erroe happened at a but not at b;
So how this error happen and how * works? On what condition the error happen?

  2 件のコメント

KALYAN ACHARJYA
KALYAN ACHARJYA 2019 年 8 月 26 日
Error?
>> a =13e-6
a =
1.300000000000000e-05
>> 7*a
ans =
9.099999999999999e-05
yifwang
yifwang 2019 年 8 月 26 日
7*13e-6 should be exactly
9.100000000000000e-5
but not
9.099999999999999e-5
error

Sign in to comment.

採用された回答

Ted Shultz
Ted Shultz 2019 年 8 月 26 日
These are floating point calculations. Not every number can be represented, and this rounding error can compound when you do math with these imperfect numbers.
"Floating-point error arises because real numbers cannot, in general, be accurately represented in a fixed space."

  1 件のコメント

Ted Shultz
Ted Shultz 2019 年 8 月 26 日
Here is a thread, with links to other threads that address this in more detail:

Sign in to comment.

その他の回答 (0 件)

製品


リリース

R2018b

Translated by