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

1 view (last 30 days)
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;

Accepted Answer

KSSV
KSSV on 12 Nov 2018
Edited: KSSV on 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

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!