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

1 commentaire

Azzi Abdelmalek
Azzi Abdelmalek le 9 Fév 2013
Modifié(e) : Azzi Abdelmalek le 9 Fév 2013
What do you want exactly?

Connectez-vous pour commenter.

 Réponse acceptée

Jan
Jan le 9 Fév 2013

0 votes

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 commentaire

Marco Vaz
Marco Vaz le 13 Fév 2013
yes, it is an approximation error.. thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by