how to remove difference error of .1e^-16

3 visualizaciones (últimos 30 días)
bhan stokes
bhan stokes el 22 de Ag. de 2017
Editada: Jan el 22 de Ag. de 2017
I am working on a program where I am concatenating a number(say 0.3654) after converting it to binary with other bits and then retrieving the same number later on ... when I compare these two numbers it gives an error difference of .111e^-15 which is although very less but it is affecting the results. All the numbers I m dealing with are decimal numbers (0.54354, 0.44362 applying ceil,floor, round is not working.)...can anyone please help to remove the error.
  3 comentarios
Stephen23
Stephen23 el 22 de Ag. de 2017
Editada: Stephen23 el 22 de Ag. de 2017
"I am concatenating a number(say 0.3654).."
Most likely you aren't. You are probably concatenating the closest binary equivalent to the decimal value 0.3654. This is not a bug in MATLAB, this is simply a side-effect of how floating point numbers are stored in binary:
etc., etc.
"can anyone please help to remove the error."
You need to design your algorithm to take floating-point error into account.
Jan
Jan el 22 de Ag. de 2017
Editada: Jan el 22 de Ag. de 2017
@Stephen: This is the correct answer in my opinion. I hesitate to repeat your explanations by posting it as an answer, but I would vote for it, if you move it to the section for answers.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by