Программное обеспечение MATLAB ® включает объект таймера, который можно использовать для планирования выполнения команд MATLAB. В этом разделе описывается, как можно создавать объекты таймера, запускать таймер и указывать обработку, которая должна выполняться при срабатывании таймера. Таймер срабатывает по истечении времени, заданного объектом timer, и выполняет указанные команды.
Для использования таймера выполните следующие действия:
Создание объекта таймера.
Вы используете timer для создания объекта таймера.
Укажите, какие команды MATLAB необходимо выполнять при срабатывании таймера и управляйте другими аспектами поведения объекта таймера.
Для указания этой информации используются свойства объекта таймера. Сведения обо всех свойствах, поддерживаемых объектом таймера, см. в разделе timer и set. На шаге 1 можно также задать свойства объекта таймера при их создании.
Запустите объект таймера.
После создания объекта таймера его необходимо запустить с помощью start или startat функция.
Удалите объект таймера по завершении работы с ним.
После завершения использования объекта таймера его следует удалить из памяти. Посмотрите delete для получения дополнительной информации.
Примечание
Указанное время выполнения и фактическое выполнение таймера могут изменяться, поскольку объекты таймера работают в однопоточной среде выполнения MATLAB. Продолжительность этого временного запаздывания зависит от того, что выполняет другая обработка MATLAB. Чтобы принудительно выполнять функции обратного вызова в очереди событий, включите вызов drawnow функция в коде. drawnow функция удаляет очередь событий.
В следующем примере задается объект таймера, который выполняет вектор символов команды MATLAB через 10 секунд. В примере создается объект таймера, задающий значения двух свойств объекта таймера. TimerFcn и StartDelay. TimerFcn определяет функцию обратного вызова таймера. Это команда MATLAB или программный файл, который необходимо выполнить при срабатывании таймера. В этом примере функция обратного вызова таймера устанавливает значение переменной рабочей области MATLAB. stat и выполняет MATLAB disp команда. StartDelay указывает, сколько времени проходит до запуска таймера.
После создания объекта таймера в примере используется start для запуска объекта таймера. (Дополнительные команды в этом примере включены для иллюстрации таймера, но не требуются для работы таймера.)
t = timer('TimerFcn', 'stat=false; disp(''Timer!'')',...
'StartDelay',10);
start(t)
stat=true;
while(stat==true)
disp('.')
pause(1)
endПри выполнении этого кода выводится следующий результат:
. . . . . . . . . Timer! delete(t) % Always delete timer objects after using them.