Azzera filtri
Azzera filtri

Cutting a for loop when a certain value is repeated

9 visualizzazioni (ultimi 30 giorni)
Jed
Jed il 16 Apr 2014
Commentato: Jed il 16 Apr 2014
Is there any way of cutting a for loop when a certain value is reached? I have a loop in the form of
for k = 1:numel(filelist)
this loop produces a value of X at the end of every loop which is then stored in a text file. I was just wondering whether there is any way that the for loop can be cut when this value of X stops increasing/ stays the same?
I thought something maybe along the lines of
if X(k-1)==X(k)
break
end
but this doesn't work. I guess its because the loop overwrites X. I was just wondering whether anyone had any ideas? Thanks in advance!

Risposte (2)

Azzi Abdelmalek
Azzi Abdelmalek il 16 Apr 2014
It's better to use a while loop
while x(k-1)~=x(k)
% your code
end
  1 Commento
Jed
Jed il 16 Apr 2014
Modificato: Jed il 16 Apr 2014
sorry i forgot to mention that there are multiple 0 values at the very beginning. It is for a spray injection where there are multiple images showing zero spray, spray then starts and then i wanted it to cut-off when it stops increasing. And also how does that work when x hasn't been defined yet? as it is defined at the end of the loop

Accedi per commentare.


Sean de Wolski
Sean de Wolski il 16 Apr 2014
Sure, pseudocode:
xtemp = nan;
for ii = 1:1000
x = whatever
do stuff
if x==xtemp
break
else
xtemp = x;
end
end
  4 Commenti
Jed
Jed il 16 Apr 2014
Aw thank you! that makes much more sense now. In this case though there are either 4 of 5 blank images at the beginning where x=0 which would break this loop too early. Is there any way to get around this?
Jed
Jed il 16 Apr 2014
i tried putting that within its own while loop, saying:
while X>0
if X==Xtemp
break
else
Xtemp = X;
end
end
but that didnt work, it completely ignored the whole statement

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by