Equality operator error with exact same value
    4 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Glenn Franco Gacal
 il 13 Apr 2022
  
    
    
    
    
    Commentato: Steven Lord
    
      
 il 14 Apr 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 Commenti
Risposta accettata
  Steven Lord
    
      
 il 13 Apr 2022
        This is not a bug. See the section "Avoiding Common Problems with Floating-Point Arithmetic" on this documentation page.
2 Commenti
  Steven Lord
    
      
 il 14 Apr 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. 
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Matrices and Arrays in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!