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 comentario

Azzi Abdelmalek
Azzi Abdelmalek el 9 de Feb. de 2013
Editada: Azzi Abdelmalek el 9 de Feb. de 2013
What do you want exactly?

Iniciar sesión para comentar.

 Respuesta aceptada

Jan
Jan el 9 de Feb. de 2013

0 votos

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 comentario

Marco Vaz
Marco Vaz el 13 de Feb. de 2013
yes, it is an approximation error.. thanks

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 9 de Feb. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by