two value difference is not complete 0. how can make it complete 0?

6 vues (au cours des 30 derniers jours)
Sarfaraz Ahmed
Sarfaraz Ahmed le 12 Nov 2018
Commenté : Sarfaraz Ahmed le 12 Nov 2018
Hi, I am using eq function to see the difference but when i get these two values it's not giving right answer. fo example : when I get a=0.164, b=0.164 then output of eq function should be 1 but it produce 0. can anyone please help in this problem ? Thanks
function y = op(a,b)
x= eq(a,b);
if (x ~=0)
out=0;
else
out=1;
end
y = out;

Réponse acceptée

KSSV
KSSV le 12 Nov 2018
Modifié(e) : KSSV le 12 Nov 2018
You cannot compare floating numbers using ==. You need to set a tolerance and check for the difference and come to decision.
a=0.164 ;
b=0.164 ;
tol = 10^-5 ;
if abs(a-b)<= tol
disp('They are equal')
end

Plus de réponses (0)

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!

Translated by