Borrar filtros
Borrar filtros

Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

preciseness of the calculation

2 visualizaciones (últimos 30 días)
bahare
bahare el 18 de Nov. de 2011
Cerrada: MATLAB Answer Bot el 20 de Ag. de 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?

Respuestas (1)

Jan
Jan el 18 de Nov. de 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.

La pregunta está cerrada.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by