How to stop the loop once store the 1st value of a variable?

3 visualizaciones (últimos 30 días)
Dear all, In my code, I need to break the code after recording the 1st value once the condition satisfied. However, when I executed the following code, the "Swt_Tm" variable keep updating for each iteration while the condition is satisfied.
if strcmp (sg_12.get('AttValue','SigState'), 'GREEN')
Swt_Tm= sim.get('AttValue', 'SimSec');
end

Respuesta aceptada

Birdman
Birdman el 17 de Feb. de 2018
Editada: Birdman el 17 de Feb. de 2018
Use break command inside the condition(note that break command works inside for and while loop):
for ...
%%%code
if strcmp (sg_12.get('AttValue','SigState'), 'GREEN')
Swt_Tm= sim.get('AttValue', 'SimSec');
break;
end
%%%code
end
  3 comentarios
Birdman
Birdman el 17 de Feb. de 2018
while true
if strcmp (sg_12.get('AttValue','SigState'), 'GREEN')
Swt_Tm= sim.get('AttValue', 'SimSec');
break;
end
end
This will break the loop once the if condition is entered.
Sherif Shokry
Sherif Shokry el 17 de Feb. de 2018
When I tried this modification, of course the loop was broken. I believe it's my fault that I did not explain it well. My idea that I need to record the 1st value once the condition is satisfied for each iteration by keeping the loop going on. For example, I need to record the time point (say 10:30:12) when a green signal starts. However, my code keep updating this value while the condition is satisfied (the green time still running) Thus, I need to keep just the first recorded time for this cycle and for the next phase, it should be also record the first recorded time for the next cycle (say 10:32:03) and so on.

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.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by