error a>b = true when a=b

in a cycle while a>b. when i get a=b inside the cycle the program doesn't stop.. if i do while a<b doesn't stop too.. if i print the number they are equal(eg 0.005). can be an approximation problem?
k=2;
while (f(x_old,y_old)<f(aux_x,aux_y))
aux_x = x_old - (1/k)*step_x;
aux_y = y_old - (1/k)*step_y;
k=k+1;
end

 Accepted Answer

Jan
Jan on 9 Feb 2013
Remember, that 0.005 and 0.0049999999999999 are displayed equally in the command window, but they are not exactly equal. Check this by a subtraction:
format short
a = 0.00499999999999
% >> 0.0050
a - 0.005
% >> -9.9998e-015

1 Comment

yes, it is an approximation error.. thanks

Sign in to comment.

More Answers (0)

Categories

Asked:

on 9 Feb 2013

Community Treasure Hunt

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

Start Hunting!