Filter löschen
Filter löschen

Prevention of negative value in Iteration

7 Ansichten (letzte 30 Tage)
Dhananjay Singh
Dhananjay Singh am 29 Aug. 2021
Kommentiert: Walter Roberson am 29 Aug. 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.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 29 Aug. 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 Kommentare
Dhananjay Singh
Dhananjay Singh am 29 Aug. 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 am 29 Aug. 2021
I suggest you use fzero() or fsolve()

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by