Numerical issue in simple summation/addition
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
below code prints 1. But if you have b = 0.2 at the second line, it does not print 1.
a = 0;
b = 0.1;
c = a;
while c < 1
c
c = c+b;
end
0 commentaires
Réponse acceptée
Plus de réponses (2)
Image Analyst
le 23 Jan 2016
It has nothing to do with the version. It has everything to do with digitization/quantization differences as discussed in the FAQ: http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F
0 commentaires
Ali
le 23 Jan 2016
Modifié(e) : Ali
le 23 Jan 2016
4 commentaires
Image Analyst
le 23 Jan 2016
"What's the fix?" Did you read the FAQ like both Star and I pointed you to? In there is the "fix" or way to deal with the reality of it -- you check against a tolerance.
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!