Планируйте выполнение команды с использованием таймера

Обзор

MATLAB® программное обеспечение включает объект-таймер, который можно использовать для планирования выполнения команд MATLAB. В этом разделе описывается, как можно создать объекты-таймеры, запустить таймер и указать обработку, которую необходимо выполнить при запуске таймера. Таймер запускается, когда прошло время, заданное объектом-таймером, и объект-таймер выполняет команды, которые вы задаете.

Чтобы использовать таймер, выполните следующие шаги:

  1. Создайте объект-таймер.

    Вы используете timer функция для создания объекта-таймера.

  2. Укажите, какие команды MATLAB вы хотите выполнить, когда таймер запускает, и управляйте другими аспектами поведения объекта-таймера.

    Вы используете свойства объекта-таймера, чтобы задать эту информацию. Чтобы узнать обо всех свойствах, поддерживаемых объектом-таймером, смотрите timer и set. Вы также можете задать свойства объекта-таймера, когда вы создаете их, на шаге 1.

  3. Запустите объект-таймер.

    После того, как вы создаете объект-таймер, вы должны запустить его, используя start или startat функция.

  4. Удалите объект-таймер, когда вы сделаны с ним.

    После того, как вы закончите использовать объект-таймер, вы должны удалить его из памяти. См. delete для получения дополнительной информации.

Примечание

Заданное время выполнения и фактическое выполнение таймера могут варьироваться, потому что объекты-таймеры работают в однопоточном окружении выполнения MATLAB. Продолжительность этой временной задержки зависит от того, какую обработку выполняет MATLAB. Чтобы принудительно выполнить функции обратного вызова в очереди событий, включите вызов в drawnow функция в вашем коде. The drawnow функция очищает очередь событий.

Пример: отображение сообщения

В следующем примере устанавливается объект-таймер, который выполняет командный вектор символов MATLAB через 10 секунд. Пример создает объект-таймер, задающее значения двух объектов-таймеров свойств, TimerFcn и StartDelay. TimerFcn задает функцию обратного вызова таймера. Это командный или программный файл MATLAB, который вы хотите выполнить, когда таймер запускается. В примере функция обратного вызова таймера устанавливает значение переменного рабочего пространства MATLAB stat и выполняет MATLAB disp команда. The 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.

См. также

Похожие темы