if statement inside a for loop not working
1 view (last 30 days)
Show older comments
Hi all,
Can someone please explain why this code is not working?
for a = 0.1:0.1:5
if a == 3
b = 1;
end
end
Once 'a' becomes 3, 'b' should be assigned a 1. But nothing happens.. Not sure what is going on
0 Comments
Accepted Answer
Adam
on 5 Oct 2016
The representation of the results of floating point maths is not 100% accurate so you should never do a straight == between a number created via floating point maths and some other number. Always test within a tolerance.
3 Comments
Jos (10584)
on 5 Oct 2016
Welcome to the world of computers using a limited amount of bits to represent numbers!
fprintf('%.40f\n', 0.1)
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!