MATLAB Answers

Oded T

Matlab adds a minor number to integer - why?

Asked by Oded T
on 5 May 2019
Latest activity Answered by Stephen Cobeldick on 5 May 2019
i noticed a very strange phenomanon:
i defined a few numbers:
t1 = 18.1
Delta = 0.1
t2 = t1 + Delta;
now open the cell of t2 and i see matlab add some very small value in the end of the decimal number, i.e.:
t2 = 18.200000000000003
what is the "3" in the end and how can i prevent it from happening?
I need the exact numbers and not additions,

1 Answer

Answer by Stephen Cobeldick on 5 May 2019

"i noticed a very strange phenomanon:"
Nope, not strange at all.
"what is the "3" in the end..."
Accumulated floating point error.
"...and how can i prevent it from happening?"
You can't. All operations on floating point values have the potential to collect floating point error. It is simply fundemental to how those values are stored. You need to learn about the limits of floating point numbers. Start by reading these:
This is worth reading as well:


Sign in to comment.