Info
Cette question est clôturée. Rouvrir pour modifier ou répondre.
preciseness of the calculation
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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?
0 commentaires
Réponses (1)
Jan
le 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.
0 commentaires
Cette question est clôturée.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!