Rounding in Matlab (very trivial)
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ryan Shrott
el 19 de Ag. de 2015
Comentada: Walter Roberson
el 19 de Ag. de 2015
Today is my first day using Matlab. I have been using C++ for last few years. Could someone please explain why FALSE is printed here?
%%Rounding of decimal fractions
x1=0.3
x2=0.1+0.1 + 0.1
test1=(x1==x2) % PRINTS FALSE? WHY?
0 comentarios
Respuesta aceptada
Steven Lord
el 19 de Ag. de 2015
3 comentarios
Image Analyst
el 19 de Ag. de 2015
I suppose for some number combinations it will match all the way out to the umpteenth decimal place and for others it won't. Bottom line: to be robust you need to check non-integer floating point numbers against a tolerance and not for equality.
Walter Roberson
el 19 de Ag. de 2015
It does not have to be intuitive: it depends upon the exact bit pattern and upon the rounding mode that is in effect.
https://en.wikipedia.org/wiki/Rounding#Round_half_to_even
Más respuestas (0)
Ver también
Categorías
Más información sobre Desktop en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!