Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

preciseness of the calculation

2 Ansichten (letzte 30 Tage)
bahare
bahare am 18 Nov. 2011
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
Hi I have two rows of data, consists of 3 numbers in each row. which are for example a,b and c. a and c are constant in each row, but b is changed. I sum the numbers in each row, however the answers are the same even though b is different. here is the numbers: a= 9237639,3400267 b=184,279078050855 c=23,3803295791066 a+b+c= 19237846,9994343 a=19237639,3400267 b=184,279078052863 c=23,3803295791066 a+b+c= 19237846,9994343
why these two summations are different?

Antworten (1)

Jan
Jan am 18 Nov. 2011
This is an effect of the limit internal precision. DOUBLEs are represented by 64 bits such that the mantissa has a precision of 53 bits. This is about 16 digits. If you add numbers of different size, small differences can dissappear. See:
a = 1.0E17 + 1 - 1.0E17
% >> 0
although 1 would be mathematically correct. But the intermediate result of the first two summands cannot be represented accurately.
Using the standard IEEE arithmetics, there must be a difference between "mathematically" and "numerically". See also: eps and FAQ 6.1.
BTW. Reading the FAQ completely is always a good idea.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by