MATLAB Answers

yifwang
0

Numerical errors of basic multiple

Asked by yifwang
on 26 Aug 2019
Latest activity Commented on by yifwang
on 26 Aug 2019
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 Comments

Error?
>> a =13e-6
a =
1.300000000000000e-05
>> 7*a
ans =
9.099999999999999e-05
yifwang
on 26 Aug 2019
7*13e-6 should be exactly
9.100000000000000e-5
but not
9.099999999999999e-5
error

Sign in to comment.

Products


Release

R2018b

1 Answer

Answer by Ted Shultz
on 26 Aug 2019
 Accepted Answer

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 Comment

Here is a thread, with links to other threads that address this in more detail:

Sign in to comment.