Разрыв цикла после заданного промежутка времени в Matlab
Я немного смущен функцией tic, но я не уверен, есть ли что-то лучше для того, что я пытаюсь сделать. В psuedo-Matlab:
startTime = tic
while(true)
#some_stochastic_process
if(now - startTime > RUNTIME)
break;
end
end
но последующие вызовы tic будут сбивать исходное время. Есть ли способ получить доступ к текущему значению tic без его перезаписи?
1 ответов
функции Теперь возвращает серийный номер даты (т. е. закодированную дату и время). Вместо этого вы должны связать вызов с ТИЦ С TOC для выполнения секундомера, как время, как так:
timerID = tic; %# Start a clock and return the timer ID
while true
%# Perform some process
if(toc(timerID) > RUNTIME) %# Get the elapsed time for the timer
break;
end
end
кроме того, вы можете упростить свой цикл следующим образом:
while (toc(timerID) < RUNTIME)
%# Perform some process
end