The MATLAB® software includes a timer object that you can use to schedule the execution of MATLAB commands. This section describes how you can create timer objects, start a timer running, and specify the processing that you want performed when a timer fires. A timer is said to fire when the amount of time specified by the timer object elapses and the timer object executes the commands you specify.
To use a timer, perform these steps:
Create a timer object.
You use the
to create a timer object.
Specify which MATLAB commands you want executed when the timer fires and control other aspects of timer object behavior.
You use timer object properties to specify this information.
To learn about all the properties supported by the timer object, see
set. You can also set timer
object properties when you create them, in step 1.
Start the timer object.
Delete the timer object when you are done with it.
After you are finished using a timer object, you should delete
it from memory. See
delete for more information.
The specified execution time and the actual execution of a timer
can vary because timer objects work in the MATLAB single-threaded
execution environment. The length of this time lag is dependent on
what other processing MATLAB is performing. To force the execution
of the callback functions in the event queue, include a call to the
The following example sets up a timer object that executes a MATLAB command
string after 10 seconds elapse. The example creates a timer object,
specifying the values of two timer object properties,
the timer callback function. This is the MATLAB command string
or program file that you want to execute when the timer fires. In
the example, the timer callback function sets the value of the MATLAB workspace
stat and executes the MATLAB
StartDelay property specifies how much time
elapses before the timer fires.
After creating the timer object, the example uses the
to start the timer object. (The additional commands in this example
are included to illustrate the timer but are not required for timer
t = timer('TimerFcn', 'stat=false; disp(''Timer!'')',... 'StartDelay',10); start(t) stat=true; while(stat==true) disp('.') pause(1) end
When you execute this code, it produces this output:
. . . . . . . . . Timer! delete(t) % Always delete timer objects after using them.