MATLAB Answers

How to get around round off error?

18 views (last 30 days)
ARSHA MAMOOZADEH
ARSHA MAMOOZADEH on 8 Jul 2019
Commented: Stephen Cobeldick on 8 Apr 2021 at 10:14
Hello all, I read about the round off error that MATLAB experiences with double precision numbers, and it being caused by how MATLAB stores numbers in binary. I was wondering if there was any way to get around this. Specifically I would like to subtract 0.021557700000000 from 0.021557800000000 without any round off error. The answer should be 1e-7 but MATLAB gives -9.999999999940612e-08. I tried to convert the numbers to symbols and subtract symbolically but I got the same error. Any ideas?
  11 Comments
Stephen Cobeldick
Stephen Cobeldick on 8 Apr 2021 at 10:14
"16 is the maximum number of decimals my input has."
Then any attempt to define a higher precision number for your operations is totally meaningless.
I very much doubt that your input data were even measured to 16 significant digit accuracy, given that some of the most accurate measurements in science are around the same order:

Sign in to comment.

Answers (1)

Zakaria moeri
Zakaria moeri on 8 Apr 2021 at 9:20
take a look at vpa and digits method already exist in matlab documentation.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!