Prevention of negative value in Iteration

12 visualizaciones (últimos 30 días)
Dhananjay Singh
Dhananjay Singh el 29 de Ag. de 2021
Comentada: Walter Roberson el 29 de Ag. de 2021
What to change here such that final value never goes negative i.e (0<value<=0.00009) and x changes accordingly
x = 0.77;
maxIterations = 10000000; % Failsafe to prevent infinite loop
loopCounter = 0; % Failsafe to prevent infinite loop
value = (0.5-x);
while value >= 0.00009 && (loopCounter < maxIterations)
x = x + 0.0001;
value = (0.5-x);
loopCounter = loopCounter + 1; % Failsafe to prevent infinite loop
% fprintf('After %d iterations, x = %f and value = %f.\n', loopCounter, x, value);
end
fprintf('After %d iterations, x = %f and value = %f.\n', loopCounter, x, value);
After 0 iterations, x = 0.770000 and value = -0.270000.

Respuesta aceptada

Walter Roberson
Walter Roberson el 29 de Ag. de 2021
while value >= 0.00009 && (loopCounter < maxIterations)
newx = x + 0.0001;
newvalue = (0.5-newx);
if newvalue < 0.00009; break; end
x = newx;
value = newvalue;
loopCounter = loopCounter + 1; % Failsafe to prevent infinite loop
% fprintf('After %d iterations, x = %f and value = %f.\n', loopCounter, x, value);
end
  4 comentarios
Dhananjay Singh
Dhananjay Singh el 29 de Ag. de 2021
that's what i am looking to find a value of x by iteration such that value is not negative and value is nearly equal to 0.
Walter Roberson
Walter Roberson el 29 de Ag. de 2021
I suggest you use fzero() or fsolve()

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by