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)
bahare
bahare le 18 Nov 2011
Clôturé : MATLAB Answer Bot le 20 Août 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?

Réponses (1)

Jan
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.

Cette question est clôturée.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by