Subtract 1 from variable each second
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Imagine I got something like this:
counter = 100;
while true
    do_something=true;
    pause(rand);
    disp(counter);
end
Then I need the counter variable to get subtracted by 1 each second inside the while loop. Any suggestions?
0 comentarios
Respuesta aceptada
  Jan
      
      
 el 10 de Jun. de 2021
        counter = 100;
TimerH = timer('TimerFcn', @doCount, 'ExecutionMode', 'fixedRate', ...
    'Period',   1.0, 'UserData', counter);
start(TimerH);
while true
    do_something=true;
    pause(rand);
    counter = TimerH.UserData;
    disp(counter);
end
delete(TimerH);
function doCount(TimerH, EventData)
TimerH.UserData = TimerH.UserData - 1;
end
Do you really need an active counter?
iniTime = clock;
while true
    do_something=true;
    pause(rand);
    counter = 100 - etime(clock, iniTime);
    disp(counter);
end
3 comentarios
Más respuestas (1)
  Mathieu NOE
      
 el 10 de Jun. de 2021
        hi
nothing fancy 
counter = 100;
while true
    do_something=true;
    counter = counter -1; % decrement counter
    pause(1); % 1 second pause
    disp(counter);
end
3 comentarios
Ver también
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!


