Equality operator error with exact same value
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Glenn Franco Gacal
le 13 Avr 2022
Commenté : Steven Lord
le 14 Avr 2022
I have the following code and it presents a bug:
data = 22.7:0.1:24.2; TEMP(1) = 23.1;
if TEMP(1) == data(5)
3-2 %this is only sample effect
else
5-2 %this is only sample effect
end
This outputs
3
But if I use
if TEMP(1) == 23.1
3-2 %this is only sample effect
else
5-2 %this is only sample effect
end
This outputs
1
You can see from the "data" matrix that data(5) is 23.1.
What kind of bug is this and how can I avoid this kind of bug in the future? I've tried 2 different PCs with different MATLAB versions and they both have the same problem.
0 commentaires
Réponse acceptée
Steven Lord
le 13 Avr 2022
This is not a bug. See the section "Avoiding Common Problems with Floating-Point Arithmetic" on this documentation page.
2 commentaires
Steven Lord
le 14 Avr 2022
No need to apologize. You aren't the first person to encounter this behavior (it's a common enough question that our documentation staff created a documentation page for it, after all) and you almost certainly won't be the last.
Plus de réponses (0)
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!