how to reject of the next value less than the previous one

10 views (last 30 days)
Hi to all the Matlab users, I have made a program in which I want to accept the value in a loop which is less than the previous one. Kindly advise. e.g. if first value at the start of the loop is 10 then next value comes 10.3 next 9.6..... I want that 10.3 should be rejected and 9.6 gets accepted and so on......... Kindly suggest..... Regards.....

Accepted Answer

michio on 23 Oct 2016
Not sure what you mean by reject, but will the following be of any help?
while true
newvalue = 20*rand;
if newvalue > x
x = newvalue;

More Answers (1)

Image Analyst
Image Analyst on 23 Oct 2016
You can try this:
value = 10;
oldValue = value;
maxIterations = 1000; % Failsafe
iteration = 1;
while value >= oldValue && iteration <= maxIterations
value = value + rand - 0.5 % Whatever...however you calculate a new value.
iteration = iteration + 1;
if value < oldValue
oldValue = value;


Find more on Loops and Conditional Statements 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!