error a>b = true when a=b

4 views (last 30 days)
Marco Vaz
Marco Vaz on 9 Feb 2013
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
  1 Comment
Azzi Abdelmalek
Azzi Abdelmalek on 9 Feb 2013
Edited: Azzi Abdelmalek on 9 Feb 2013
What do you want exactly?

Sign in to comment.

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
Marco Vaz
Marco Vaz on 13 Feb 2013
yes, it is an approximation error.. thanks

Sign in to comment.

More Answers (0)

Categories

Find more on Introduction to Installation and Licensing 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!